restructured the classes so they are in files that make more sense