add protocol documentation