merge from taobao-master