Renamed some of the classes for clarity