refactoring: making all the different sections into seperate files