Hammer integration - closes #30, closes #69, closes #102