all my stuff for constraints part 1