Listing 8.6
Listing 8.7