found some old haskell solutions