Listing 14.7, 14.8, 14.9