working on  Exercise 3.3.2