add more objective functions