some more haskell work