protocol work