third commit from wangxinlu