优化extend