Sync with book code.
Chapter 2 / 33