sample app for chapter 3