CHAPTER 2. Generating Functions