doing protocol