* updated protocol