first crack at haskell