worked on prediction error objective function