CHAPTER 6. Program Design