Basic generator framework