refactored the class names a little more