基本完成了，尚需修改