problem 3
problem 4
problem 5a
revisions