finish exercise 1.1 ~ 1.8