重构step1