added NonLinear parameter