优化init