Exercise 4.53 ~ 4.54