fixed exercise 2.58b