some refactorings
add multi language support
some small changes
added a simple haskell parser