cleanup and made a protocols class for holding all protocols