added exercise 3.5~3.7