merge from chukong