fixing protocol stuff