Iteration 3

- Code refactoring