modified objective function