New generator API