sample app from the Hartl tutorial