compilation & project structure