finished Exer. 4.20