completed exercises 26 - 30