Following the LiveLessons book example.