Completed exercises 1.30, 1.31