refactored, seperated most important updates into seperate files for easier overview