refactoring, unit test added