some test, some refactoring