project structure refactored, improved compilation time