collision detection is working much better now