Completed chapter 3 except for testing final code listing on *nix box