solve exercises 16.28 - 16.29