literate haskell
problem 2
clean ups