refactoring
branch coverage