修改了部分BUG，优化了代码，加入一些新功能