Refactoring continues #3.4
Refactoring continues #3.5