some typos were fixed in chapter 5