merge from Wentao