fixes for bidirectional communication