major refactoring of project structure