update the rest in Chapter 3