flatten is faster. build future versions on 3_3?