add some comment
try to change the order of some instructions