added base generator