Code and Design Refactoring
Refactor