working on patterns