comment and optimization part 1