why Duplex when you don't use _read?