Finished exercises 1.35-1.39.