finished ProblemSet4