bi-directional components