dividing generator to sub-generators and adding --all option