refactoring
test added