for the Hartl tutorial