more problem 4 functions