refactor for reports