refactoring + testCase 111(NOT FULL)