Michael Hartl's chapter 2 demo app