exerise 2.58a