完善run()