1. Set up project structure