updated protocol spec