incorporate Qiang's corrections