require pattern and thing