refactored Hermes.py for testability