actually use a transform stream instead of duplex