chapter 3 sample app