finish Part III of tutorial