Refactored report constructor