refactoring using OO principle and design patterns
I want to be an architect