fixes to movement and collision detection