hartl tutorial sample application