collision detection working better, still not totally fixed