refactored report classes for better performance