finish demo app; chapter 2