Exercise 5.5 ~ 5.6