refactored some class names to be more meaningful