support for string/byte protocols