oh man, collision detection is tough