flattens
not defined yet