Collision detection + keeping gravity check

Definitely needs some finetuning