finish problem 30