updated hammer.py to use new style classes and extended calling syntax