adding knock forward/back states, and a bit better collision detection