Cover 1

Refactoring to Patterns