merged ce398a2 from chenxizhi branch