pattern require