add special error for bad address and fix protocol realization