Completed hartl 10.1.3