Adds support for n-ary expressions and function

* it adds supports for n-ary expression
* it export the interface to add an expression