Chapter 2. Application Design