solve exercises 17.15 - 17.16