protocol example.