added collision detection, projectiles, and lots of other stuff