some comment on reading code, and replace some tabs to spaces