Renamed a lot of classes and did some refactoring