Apply Design Patterns to Word Searching