problem 23 partial