增加了自定义函数的支持