重构新版本。