working-ish hammerized version