add pragmatic constraints 2