Listing 12.4, 12.5, 12.6