Seperated classes out into their own files. Moved functionality away from decleration.
Adding comments and clearing up some variable names