Refactored so files are in seperate folders