why do we need always to call `flatten` ?