Updated to include chapter 8 content and challenges.