初步优化，待修正