Start refactoring
- created namespaces
- class separetion
- usage of design patterns
refactor - Class separation