nonlinearstep templated