add non-linear model fitting utilities