Exercise 3.36 ~ 3.37