return thunk and result in report_ to control when output is done