working on variadic generator