ch2 exercise2-23