protocol examples for clarity