added support for new function types