Update: unbelievable ugly, but working duplex comms!