add gen task