solve exercises 16.15 - 16.17