手动merge并且改进