Listing 9.1, 9.2, 9.3