finish problem 28