improve non linear model