improved problem 3, solved problem 7