A seemingly working mess

+ Went through code and checked it worked from bottom up
+ Ended up leavign something in even more need of a tidy up