refactoring, adding reports