This is the sample application from Michael Hartl