requirements and constraints