performance optimizing, part1