完成全部的功能