problem 4, 5, 6 solved