fix bidirectional