1) refactoring class names
2) added tests
added tests