#9 added non-linear gravity implementation
#9 added non-linear gravity implementation
#9 added non-linear gravity implementation