generate langs + introduce parsers
add function parser