sample app for Hartl tutorial Ch. 3