make the reporter interface more flexible