project structure and base code