Listing 11.1, 11.2, 11.3