extend优化