updated endless generator