bidirectional controls