solve exercises 16.30 - 16.34