refactoring: adding dir structure, classes