reworked file structure