basic non-linear dynamics utils