代码refactor一下，同志们对不起了