add Generator API