works with client and can decode clients byteString