final problem 2.3