coverage and refactoring