exercise 2.10 and 2.11