exercise 5.6.2, 5.6.3