整合pudding分支，完成