app2 from hartl book