[liuxia] Homework 3
[liuxia] Homework 3 completed.
[liuxia] Refactor.