better parse errors, examples, and support for various functions