collision detection works, kinda