chapter 2 demo_ap