一个可以完整修改的版本