refactoring, code coverage