用链式操作重新描述了全部的模板