update problem 21