require generator