100% test coverage
refactoring