spec for problem five
spec for problem four
solution for problem five