exer 2.30 & 2.31