added collisions and other stuff