Completed exercises 28-30