Exercise 4.12 ~ 4.13