added basic collisions and gravity