refactored reporting with msgboxes