Moved templates and parsers into separate files. Added multiple language support.