updated printing and objective functions