a bit more collision detection stuff