修改完成的版本，未测试