Full refactoring of project structure