add some haskell code