updating nonlinear section