Thru Listing 5.11: add _header & _shim
Listing5.12: add _footer
Listing 5.14 and also header changes