This is the demo app in chapter 2.