even better collision detection