cloneable generator