优化了实现代码