update by Weilong