2nd modify by ShengHua