revise codes, no functional change
revise codes, no functional change