重新写的程序