refactoring, split classes to external