the big App from the Hartl tutorial