Redesign 3
Refactoring