added desirable constraint as a part of objective function