Protocol defintions and explanations