Moved everything in to classes