修改了增加了一些函数