bidirectional control