step 3.5: refactor the project structure.