rewrote protocol doc