refactored class names and method name