added some docs for protocol