solve exercises 10.15 - 10.18