add: toFlat