try bi-directional flatten