added convex presrving and generalized ineq