solution for Problem 2