more tests
more tests
refactoring