Finish exercises 2.53 ~ 2.55