demo_app from Hartl's Tutorial chapter 2