added haskell and erlang modes