solve exercises 16.12 - 16.14