finished Exer. 4.21