requirement pattern