basic structure of the project