Major update based on finishing Chapter 2 of the book