report refactor