add exercises 2.17 and 2.18