passing protocols