refactor Reporter