Collision detection, and uhh other stuff..