improved protocol