design the new report pattern