refactoring tests
more classes and tests