Exercise 2.10 ~ 2.11