introduced new variables for constraints