updated protocol with register and reportresult