refactoring: classes. Add more tests