First finished state of the project refactoring