pattern version 3: generating patterns