add nonlinear demo