completely reworked file structure