Exercise 3.49: ?
Add procedures defined in section 3.5