First step: project structure definition