merge from cocos