做了一大堆的修改，还有些有错误的地方
修改一些功能吧