Chapter 4 Creating Reusable Command-line Tools