重构了模板。