Update 6

Code refactor, major changes, 'hand in ready'