finish problem 8