use cross-platform bytes