Sample App (chapter 3)