第一个比较完善的版本