added non-linear dynamics in v2.2