patterns require