all test green. it is time for refactoring