implement solution for problem 2 and 3