file structure and setup