work on defining patterns