add more 重构代码