duplex return writable & map example