adding gravity, drag, and elasticity