added haskell support