report refactor part2