completed exercises 21 - 25