refactoring, added test