refactor,add unit test.