added haskell mode