demo_app chapter 2