Massive refactor on project structure