no need for fill_or_generate