support for functions
support for user defined functions, signature testing