Add base generator class