I'm just adding all the classes which weren't previously part of this
branch
I have renamed some files for the umpteenth time to make everything a
little bit more viable, not sure how well it's working.
I've made some more changes and referenced, that which needed to be
referenced