setting up protocols