started refactoring
split classes
Merge branch 'feature/refactor' into develop
Merge branch 'develop'