using patterns to solve problems - Search