requirements and factory fixed