some kind of refactoring