support Generator Requirement: generator_iterator, random_redult