updated protocol