better solution for problem 3 added