Gravity

Code review for the gravity implementation
I'm fine with lilac :P