added haskell syntax