重构main的代码