Page
1
(This page has no text content)
Page
2
The Claude Code Operating Model Build scalable AI coding systems with Skills, MCP, Hooks, agent orchestration, and SDK patterns Jia Huang
Page
3
The Claude Code Operating Model Copyright © 2026 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Portfolio Director: Ashwin Nair Portfolio Manager: Nitin Nainani Content Engineer: Kinnari Chohan Project Manager: Vishnu Priya R Technical Editor: Rohit Singh Copy Editor: Kinnari Chohan Indexer: Manju Arasan Proofreader: Kinnari Chohan Production Designer: Ajay Patule Growth Lead: Sayantani Saha First published: August 2026 Production reference: 1060826 Published by Packt Publishing Ltd. Grosvenor House 11 St Paul's Square Birmingham B3 1RB, UK. ISBN 978-1-80808-271-9 www.packtpub.com
Page
4
To my wife and our children, who remind me that the best systems are the ones we build together. – Jia Huang
Page
5
Contributors About the author Jia Huang is an AI researcher at A*STAR, Singapore, and a technical author who writes about how AI agents are engineered. He is the author of Designing AI Agents and RAG from First Principles. He proposed the dual-axis framework for agent design patterns, which classifies patterns by cognitive function and execution topology, and the Pattern Selection Card, a practical method for choosing patterns under real cost and latency constraints. His work focuses on the engineering that surrounds the model rather than the model itself: context, tools, execution environments, and governance. He writes in both Chinese and English. My thanks to Lucy Wan, who bridged my Chinese and English markets and brought me to the Packt team, a connection that opened the door to a remarkable period of collaboration. I am also grateful to Kinnari Chohan, whose professional editing made this English edition clearer and stronger than I could have made it alone. My Chinese publishing team at Posts & Telecom Press has supported this work throughout. Jikang Chen and Sha Li backed me at every turn and helped shape the way I write; Jian Qin edited the Chinese edition; and Chenyu Yuan created the illustrations. My thanks also go to the GeekTime team, especially editors Yuxin Zhao and Dongqing Wang, and to the many learners in my Claude Code course. Their thoughtful questions, practical feedback, and valuable suggestions helped me refine the ideas in this book and make them more useful to practitioners. I am grateful to my colleagues in the ADPS community—the Agent Design Patterns Society— Bingsheng Ru, Ning Jiang, Bo Liang, Professor Haofen Wang, Huisheng Yin, Haili Zhang, and Pingping Bai, for building this community with me. And finally, my deepest thanks to my parents for their unconditional love and support.
Page
6
About the reviewers Wei Wei is an AI engineering practitioner and technical author with an MSc in Artificial Intelligence from the University of Aberdeen (UK). He specializes in LLM systems, agentic AI architecture, and Harness Engineering. The author of five-plus technical books spanning Python systems, web architecture, and applied machine learning, he has led big data platform development at Tongcheng Digital Technology and built multimodal intelligent systems as a Senior ML Scientist. As an independent consultant, he has delivered enterprise AI training and advisory to institutions including Citibank, Bank of China, and Ping An Life Insurance, and lectures on LLM engineering at over ten universities. Yury Vashchylau makes software and automation for a living, and treats the two as the same thing. Long before agentic AI became a category, he ran his engineering work on top of a self- hosted stack of services. He believes that the principles that shape good code also shape the AI harnesses built around it. His work spans banking infrastructure, contributing to open-source, consumer apps at DIGITALBY, and developer tooling. He writes at yuryv.info, and is interested in animation, filmmaking, business processes, and how automated systems evolve over time.
Page
7
(This page has no text content)
Page
8
Table of Contents Preface xvii Free benefits with your book ................................................................................................. xxii Chapter 1: Claude Code as an Agent Framework: a Technical Architecture Overview 1 From Command-Line assistant to agent framework ................................................................. 2 Four-Layer architecture model .................................................................................................. 4 Memory layer: the CLAUDE.md system • 6 Extension layer: the four major extension components • 8 Integration layer: connecting to the outside world • 12 Programming layer: agent SDK • 14 Underlying perspective: harness and the agentic loop • 16 Component relationships and collaboration ........................................................................... 18 Comparison of trigger mechanisms • 18 Data flow: the journey of a request • 20 Plugins: packaging and distribution of combinations • 21 Technical selection guide ........................................................................................................ 22 Summary ................................................................................................................................ 25 Reflection questions ................................................................................................................ 26 Chapter 2: Learning From the Past: Engineering Practice of the Memory System 27 Why AI needs "Memory" ........................................................................................................ 28 The Five-Layer memory architecture ...................................................................................... 30 CLAUDE.md writing paradigms .............................................................................................. 35 First question: WHY (why do this?) • 36 Second question: WHAT (what to do, what not to do) • 36 Third question: HOW (how to do it step by step) • 36 Conditional Rule System ........................................................................................................ 40 In practice: three typical project configurations ...................................................................... 43
Page
9
React frontend project configuration • 43 Node.js backend project configuration • 45 Python data project configuration • 46 Summary ................................................................................................................................ 48 Reflection questions ................................................................................................................ 49 Chapter 3: Teaching a Man to Fish: Engineering Reusable Skills 51 From CLAUDE.md to Skills: Two Dimensions of Knowledge ................................................... 52 Dissecting a Skill: Skeleton and Texture .................................................................................. 55 Directory Structure • 55 YAML Frontmatter: The "ID Card" of a Skill • 57 Progressive Disclosure: The Return on Investment of Knowledge ........................................... 59 The Library Model • 60 The Budget Mechanism of description • 62 Trigger Mechanism: How Claude Code Decides Which Skill to Invoke ................................... 63 Dual-Channel Activation Mechanism • 63 Description: The Soul of Skills • 64 Preventing Over-Triggering and Under-Triggering • 66 Reference Skills vs. Task Skills: Two Skill Philosophies • 67 SKILL.md Main Content: Router, Not Repository .................................................................... 69 Router Mindset • 69 Contractual Reference • 71 The 500-Line Rule • 71 allowed-tools: Knowledge-Constrained Behavior ................................................................... 72 Permission Design Templates • 72 Fine-Grained Bash Control Syntax • 73 Parameter Passing and Dynamic Injection .............................................................................. 74 $ARGUMENTS and Positional Parameters • 74 Dynamic Context Injection • 75 Scope and Priority • 77 In Practice: Building 3 Skills from Scratch • 78 Task-oriented Skill: Intelligent Commit • 81 Composite Skill: Financial Analysis (Progressive Disclosure Full Case) • 83 Four Skill Design Patterns • 85 Skills from a Software Engineering Perspective • 87 Table of Contents viii
Page
10
Separation of Concerns • 88 Dependency Inversion • 88 Cache Optimization and Lazy Loading • 88 Principle of Least Privilege • 88 Open standards • 89 Summary ................................................................................................................................ 89 Reflection Questions .............................................................................................................. 90 Chapter 4: Divide and Conquer: The Art of Sub-Agents and Task Delegation 93 The Context Window Dilemma ............................................................................................... 94 The Essence of Subagents ........................................................................................................ 95 Defining and Configuring Subagents ...................................................................................... 97 Sub-agent Modes .................................................................................................................. 103 Read-Only: The Safe Observer • 103 Execution: High-Noise Task Processor • 104 Parallel: Multi-Expert Workflow • 105 Pipeline Mode: Serial Processing Chain • 107 Collaboration between Sub-agents and Skills ........................................................................ 113 Token Economics .................................................................................................................. 120 Subagents from a Software Engineering Perspective .............................................................. 123 Single Responsibility Principle • 124 Bulkhead Pattern • 124 MapReduce Pattern • 124 Chain of Responsibility Pattern • 125 Practical Considerations ........................................................................................................ 125 Summary .............................................................................................................................. 126 Discussion Questions ............................................................................................................. 127 Chapter 5: From Guidelines to Guardrails: Automating Control with Hooks 129 The Role of Hooks in the Claude Extension System ............................................................... 130 Event Lifecycle: More Than Two Dozen Events ...................................................................... 131 Session-Level Events • 131 SessionStart • 131 ix Table of Contents
Page
11
SessionEnd • 132 PreCompact • 132 Tool Invocation Events • 132 PreToolUse (the most powerful event in the entire Hooks system) • 132 PostToolUse • 133 PostToolUseFailure • 133 PermissionRequest • 133 UserPromptSubmit • 134 Subagent Events • 134 SubagentStart • 134 SubagentStop • 134 Completion Events • 135 Stop • 135 Notification • 135 Newer Event Types • 135 TeammateIdle and TaskCompleted • 135 ConfigChange • 135 WorktreeCreate and WorktreeRemove • 135 "Can It Be Blocked?": The Most Critical Dimension • 136 Configuration System: 6 Locations, 6 Purposes ...................................................................... 136 Three Types of Processors: A Deterministic Ladder ................................................................ 139 Command Type: Deterministic Rules • 139 Prompt Type: Single Large Model Evaluation • 140 Agent Type: Multi-turn Intelligent Verification • 140 hookSpecificOutput: Protocol for Communicating with Claude ............................................ 141 Engineering Practice 1: Security Protection System ................................................................ 142 PreToolUse: Dangerous Command Interception • 143 PreToolUse: Sensitive File Protection • 144 PostToolUse: Comprehensive Operation Auditing • 146 Complete Configuration • 147 Engineering Practice II: Automated Code Quality ................................................................. 148 PostToolUse: Automatic Formatting • 148 PostToolUse: Lint Feedback Loop • 149 Stop Hook: Test Quality Gate • 150 Subagent Hooks: Precise Context Management ..................................................................... 152 Table of Contents x
Page
12
Global vs. Frontmatter: The Precision Issue • 152 SubagentStart: Automatic Context Injection • 153 SubagentStop: Verifying Output Quality • 153 Asynchronous Hooks: Background execution without blocking ............................................ 155 Environment Variables and Debugging .................................................................................. 156 Environment Variables Available to Hooks • 156 The Three Debugging Techniques • 156 Common Pitfalls • 157 Engineering Design Methodology .......................................................................................... 157 Summary .............................................................................................................................. 158 Discussion questions .............................................................................................................. 159 Chapter 6: Connecting Everything: Integrating External Tools with MCP 161 From N×M to N+M: The Power of Standardization ................................................................. 162 Architecture: Client-Server and JSON-RPC ............................................................................. 163 Transmission Methods: Three Forms of Connection ............................................................. 164 Configuration Details: From CLI to Configuration File ........................................................... 165 Quick CLI Configuration • 165 .mcp.json Configuration File • 166 Configuration File Location and Scope • 167 Practical Example 1: Connecting to a Database ...................................................................... 167 Practical Example 2: Building a Custom MCP Server ............................................................. 168 Common MCP Server Ecosystem ............................................................................................ 172 Official Servers • 172 Popular Third-Party Servers • 173 Practical Configuration Combinations • 174 Security Mechanisms: The Boundaries of Trust ..................................................................... 175 Three-Layered Defense Mechanism • 175 Security Risks and Countermeasures • 176 MCP+Skills: Kitchen and Recipe ............................................................................................. 177 Enterprise Deployment .......................................................................................................... 179 Debugging and Troubleshooting ............................................................................................ 179 Common Debugging Methods • 179 Token Management for MCP Tool Output • 180 xi Table of Contents
Page
13
Common Issues • 180 Summary ............................................................................................................................... 181 Discussion Questions ............................................................................................................ 182 Chapter 7: Headless Mode and CI/CD Integration 183 From Interactive to Unattended: A Key Architectural Evolution ............................................ 184 Core Parameter System: Control Across Four Dimensions ..................................................... 185 Output Format Control • 186 text format • 186 json format • 187 stream-json format • 188 Cost Guardrails • 189 Security Boundaries: Tool Permissions • 190 Execution Control: Model, Prompt, Structured Output • 191 Model Selection • 191 System Prompt Customization • 191 Structured Output • 192 Unix Pipelines: Integrating Claude into Command Line Workflows ...................................... 193 Practical Example 1: Automated Code Review with GitHub Actions ...................................... 194 Using the Official Action • 194 Direct CLI Invocation • 196 Practical Example 2: Multi-Stage CI Pipeline ........................................................................ 199 Streaming Output: Real-Time Monitoring of Long-Running Tasks ....................................... 202 Session Management: Maintaining Context Across Steps ..................................................... 203 CI Environment Configuration: Production-Grade Checklist ................................................ 205 Required Environment Variables • 205 Performance Tuning Parameters • 206 Complete Configuration Template for GitHub Actions • 206 MCP Server Configuration in CI • 207 Cross-Platform CI/CD Integration ......................................................................................... 207 GitLab CI/CD Configuration • 207 Jenkins Pipeline Integration Configuration • 208 Local Automation Scripts • 209 Security Best Practices: From RBAC to Container Isolation ................................................... 210 Principle of Least Privilege • 211 Table of Contents xii
Page
14
Secrets Management • 212 Container Isolation • 212 Cost Protection • 213 Audit Logs • 213 From CLI to Agent SDK: Programming Interfaces for Headless Mode .................................... 214 Progressive Implementation Strategy ................................................................................... 216 Summary ............................................................................................................................... 217 Discussion Questions ............................................................................................................. 217 Chapter 8: Building with Claude as the Engine: Agent SDK Intelligent Agent Development Kit 219 Positioning of the Agent SDK: From Tool to Component ....................................................... 220 Core API: The query Function ................................................................................................. 221 Python Version • 221 TypeScript Version • 222 Message Types: Interpreting Claude's Output Stream .......................................................... 223 system/init—Session Initialization • 223 assistant—Claude's Response • 223 user—Tool Execution Results • 224 result—Task Completion • 224 ClaudeAgentOptions: Fine-Grained Behavior Control .......................................................... 226 Detailed Explanation of Permission Modes • 228 Pattern Matching for Tool Permissions • 229 Session Management: Context Continuity Across Calls ......................................................... 229 Session Continuity Based on session_id • 229 Conversation Forking • 230 Custom Tools: Extending the Capability Boundaries of Claude .............................................. 231 Defining Tools with the @tool Decorator • 231 Register and Enable Custom Tools in Agent Configuration • 233 Using Pydantic Models for Parameter Validation • 233 Hooks in the Agent SDK: Programmatic Interception ............................................................ 235 PreToolUse: Pre-execution Interception • 235 PostToolUse: Execute Post-Processing • 237 Relationship Between Agent SDK Hooks and Shell Hooks • 238 Four Layers of Security Defense ............................................................................................. 239 xiii Table of Contents
Page
15
Structured Output: Enforcing JSON Schema ......................................................................... 242 In Practice: Building a Code Analysis Web Service ................................................................. 243 Agent SDK and Headless CLI: How to Choose ........................................................................ 247 Summary .............................................................................................................................. 248 Questions for Reflection ........................................................................................................ 249 Chapter 9: From Personal Craft to Shared Asset: The Plugin Ecosystem 251 The Role of Plugins: Encapsulation and Distribution of Capabilities .................................... 252 Physical Structure of a Plugin ................................................................................................ 253 plugin.json: The Plugin's Identity Card • 255 Specific Format of Components • 256 Command Files • 256 Sub-agent Files • 257 Hooks Configuration File • 257 MCP Configuration File • 258 Installation and Lifecycle Management ................................................................................ 258 Installation Sources • 258 Routine Management • 259 Local Development and Testing • 259 Storage Location • 259 Namespaces: Multiple Plugins Coexisting ............................................................................. 260 In Practice: Building a Team Capability Pack ........................................................................ 260 Complete Directory Structure • 261 plugin.json • 261 Security Scanning Sub-Agent • 262 Hooks: Security Check Script • 263 Release Process • 263 Private Marketplace and Enterprise Management ................................................................ 264 Building a Private Marketplace • 264 Using a Private Marketplace • 265 Organization-Level Plugin Management • 265 Plugin Design Principles ....................................................................................................... 266 Single Responsibility • 266 Incremental Iteration • 266 Table of Contents xiv
Page
16
Least Privilege • 266 Documentation Is Essential • 267 When to Package Capabilities as a Plugin ............................................................................. 267 LSP Support and Future Evolution ........................................................................................ 268 Summary .............................................................................................................................. 269 Discussion Questions ............................................................................................................ 270 Chapter 10: From Individual to Team: Engineering Practices for Claude Code 271 Cost: Make Tokens Work for You, Not Burn Your Money ....................................................... 272 Understanding the Pricing Structure • 272 Model Selection Strategy • 273 Context Management Is the Core of Cost Control • 274 Prompt Caching • 275 Cost Monitoring • 276 Debugging: Opening the Black Box ....................................................................................... 277 --debug Mode: An "X-ray" of the Execution Process • 277 stream-json: Real-Time Insight into the "Thought Stream" • 278 PostToolUse Hook: Building Persistent Audit Logs • 278 Session Archiving and Breakpoint Debugging • 279 Diagnosing Abnormal Claude Behavior • 280 Security Guidelines: Least Privilege Is the Bottom Line ......................................................... 281 Permission Modes: The First Line of Defense • 281 Tool Permissions: Fine-Grained Control • 282 .claudeignore and File Access Control • 283 Hook Security Scanning • 284 Trust Assessment of MCP Servers • 284 API Key Lifecycle Management • 285 Large Codebases: Navigating Millions of Lines of Code Within a Limited Context Window .. 286 Hierarchical CLAUDE.md • 286 Guide Searches, Not Exhaustive Reading • 288 Sub-Agents: Building Modular Context Boundaries • 289 Context Compression and Fine-Grained Management • 290 Prompt Engineering: Writing Effective CLAUDE.md and Prompts ....................................... 290 Principles for Writing CLAUDE.md • 290 xv Table of Contents
Page
17
Techniques for Precise Expression • 291 Quantify everything • 291 Example-driven • 292 Define boundaries clearly • 292 Stepwise Confirmation • 292 Team Adoption: The Leap from Individual to Organization .................................................. 293 Shared Configuration: The Cornerstone of Team Unity • 293 Governance Standards for CLAUDE.md • 294 Organization-Level Policy Management • 295 Progressive Capability Building Roadmap • 295 Claude Code Onboarding Training Program • 296 Integration of the SDD Ecosystem and Workflow ................................................................. 298 Four-Layer SDD Ecosystem Architecture • 298 Recommended Workflow Combination Solutions • 299 Global View: The Orchestration of Nine Core Mechanisms .................................................. 300 Summary .............................................................................................................................. 302 Reflection Questions ............................................................................................................. 303 Afterword: The Way of the Blade 305 Other Books You May Enjoy 309 Index 315 Table of Contents xvi
Page
18
Preface For two years, the industry asked one question above all others: which model is the strongest? It was the right question for its time. But somewhere in 2025, the ground shifted. The frontier models became so capable and so close to one another that raw model quality stopped being what separated a working system from a frustrating one. What separated them was everything around the model: the context you fed it, the tools you gave it, the environment you ran it in, and the guardrails you placed on it. That surrounding structure has a name in this book: the Harness. The central argument of these pages is simple to state and demanding to practice, an agent is a Model plus a Harness, and once models are commoditized, the Harness is where the engineering lives. Claude Code is the clearest embodiment of that idea available today. On the surface, it is a command-line coding assistant. Underneath, it is a complete, inspectable Harness: CLAUDE.md injects context, Skills and sub-agents extend capability, Hooks and permissions enforce control, and Headless mode, the Agent SDK, and Plugins carry all of it into real execution environments. This book takes Claude Code apart mechanism by mechanism, not to admire it, but to teach the underlying discipline, so that what you learn transfers to any agent you build, in any framework, long after the specific tool has changed. This is a hands-on engineering book, not a survey. Every mechanism is introduced through a concrete problem, worked in real code, and pushed until it either holds up or reveals its limits. The chapters build on one another: the early chapters establish the four layers of a Harness, context, tools, execution, and governance, and the later chapters compose them into headless pipelines, custom SDK agents, shareable plugins, and, finally, the team practices that let a whole organization work this way without chaos. A note on the cast. Throughout the book, you will meet three recurring characters in short dialogues. Xiaobing is an engineer applying Claude Code to real projects; Xiaoxue brings a data-analysis perspective and asks the questions a practitioner actually runs into; and Kage is the senior technical mentor who helps them reason through architecture decisions. They are not decoration, each conversation stages a design tension you will face yourself, and the chapter that follows resolves it in code. The tools in this space move quickly, and some specifics in these pages will age. The mechanisms will not. Injection is still injection, context windows still fill, and a well-drawn boundary between what an agent may perceive and what it may do is still the difference between a system you can trust and one you cannot. My aim is that when you finish, you will
Page
19
not merely know how to operate Claude Code, you will know how to think about the Harness beneath any agent, and how to build one that earns its trust. Who this book is for This book is for software engineers, technical architects, and engineering leads who have used an AI coding assistant and now want to build with one seriously, reliably, at scale, and as a team. If you have run Claude Code or a similar tool and felt both its power and its rough edges, and you want to understand the machinery well enough to shape it rather than fight it, this book is written for you. A working familiarity with the command line, Git, and at least one programming language (the examples lean on Python, JavaScript/TypeScript, and shell) is assumed. You do not need prior experience with agent frameworks or LLM internals; the book builds those ideas from first principles as it goes. What this book covers Chapter 1, Claude Code as an Agent Framework: a Technical Architecture Overview, establishes the book's central lens, an agent as Model plus Harness, and maps the four layers (context, tools, execution, and governance) that the rest of the book fills in. Chapter 2, Learning from the Past: Engineering Practice of the Memory System, examines how Claude Code manages context through the CLAUDE.md hierarchy and its memory scopes, and how to keep that context lean, layered, and loading in the right order. Chapter 3, Teaching a Man to Fish: Engineering Reusable Skills, introduces Skills, declarative capability packages defined in SKILL.md, and shows how to design, scope, and trigger them so Claude reaches for the right capability at the right moment. Chapter 4, Divide and Conquer: The Art of Sub-Agents and Task Delegation, covers sub-agents and context isolation: how to decompose work, delegate it to focused agents, and aggregate the results deterministically. Chapter 5, From Guidelines to Guardrails: Automating Control with Hooks, turns soft guidelines into enforced guardrails using the event-driven Hooks mechanism, including how a hook blocks a dangerous action before it runs. Chapter 6, Connecting Everything: Integrating External Tools with MCP, opens Claude Code to the outside world through the Model Context Protocol, connecting external tools, data sources, and credentials safely. Chapter 7, Headless Mode and CI/CD Integration, takes Claude Code off the interactive terminal and into automation: headless invocation, budget and turn limits, and full CI/CD pipelines on GitHub Actions, GitLab, and Jenkins. Preface xviii
Page
20
Chapter 8, Building with Claude as the Engine: Agent SDK Intelligent Agent Development Kit, moves from driving Claude by parameters to orchestrating it in code, custom tools with the @tool decorator, structured output, permission layers, and a complete SDK-based service. Chapter 9, From Personal Craft to Shared Asset: The Plugin Ecosystem, packages Skills, sub-agents, Hooks, and MCP into distributable Plugins, and shows how private marketplaces turn one engineer's setup into a team standard. Chapter 10, From Individual to Team: Engineering Practices for Claude Code, addresses the governance layer at organizational scale, cost, debugging, security, scale, instructions, and collaboration, so a whole team can work this way without chaos. The Afterword, The Way of the Blade, steps back to the book's guiding metaphor and the Harness thesis, and points toward the wider methodology and design-pattern work this book connects to. To get the most out of this book To follow the examples, you will need a working Claude Code installation and access to Claude (an Anthropic API key or an equivalent Claude subscription). A recent Node.js runtime is required, since Claude Code runs on Node; Python 3.10+ and Git are used throughout the examples. The book assumes comfort with the command line and a code editor. Everything else, Skills, sub-agents, Hooks, MCP servers, the Agent SDK, is introduced and set up as it is needed, so you can start from a plain installation and build up. Keep the official Claude Code documentation open alongside the book. The mechanisms are stable, but exact flags, model names, and pricing evolve; when a specific detail has shifted since publication, the documentation is the source of truth. Download the example code files This book includes a complete downloadable code bundle containing all the example projects and files used throughout the chapters. We recommend downloading the bundle so you can follow along smoothly and experiment with the examples. Use the bundle as a practical starting point. Modify it, extend it, and apply what you learn by creating your own variations as you progress through the chapters. Get the code bundle If you bought the book directly from Packt: Go to packtpub.com Click your profile picture and select Your Orders Find this book and click Download Code 1. 2. 3. xix Preface