generator maintains folds