fixing protocol again