Exercise 4.45 ~ 4.47