chapter 7 -- customizing the user interface