refactored for readability; functions need to be split in separate files; courses and interests are left of main