file structure and dependecies