renamed AbstractObjective to MinMaxObjective