leave as generator