implemented some of the collision infrastructure