exercise 6.5.2, 6.5.3