function __construct($create_tables = false)
 {
     $this->create_tables = $create_tables;
     // use another table prefix?
     if (file_exists(WB_PATH . '/modules/' . basename(dirname(__FILE__)) . '/config.json')) {
         $config = json_decode(file_get_contents(WB_PATH . '/modules/' . basename(dirname(__FILE__)) . '/config.json'), true);
         if (isset($config['table_prefix'])) {
             self::$table_prefix = $config['table_prefix'];
         }
     }
     parent::__construct();
     $this->setTablePrefix(self::$table_prefix);
     $this->setTableName('mod_kit_newsletter_process');
     $this->addFieldDefinition(self::field_id, "INT NOT NULL AUTO_INCREMENT", true);
     $this->addFieldDefinition(self::field_archiv_id, "INT(11) NOT NULL DEFAULT '-1'");
     $this->addFieldDefinition(self::field_register_ids, "TEXT NOT NULL DEFAULT ''");
     $this->addFieldDefinition(self::field_distribution_ids, "TEXT NOT NULL DEFAULT ''");
     $this->addFieldDefinition(self::field_count, "INT(11) NOT NULL DEFAULT '0'");
     $this->addFieldDefinition(self::field_send, "INT(11) NOT NULL DEFAULT '0'");
     $this->addFieldDefinition(self::field_simulate, "TINYINT NOT NULL DEFAULT '0'");
     $this->addFieldDefinition(self::field_job_created_dt, "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'");
     $this->addFieldDefinition(self::field_job_done_dt, "DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'");
     $this->addFieldDefinition(self::field_job_process_time, "FLOAT NOT NULL DEFAULT '0'");
     $this->addFieldDefinition(self::field_is_done, "TINYINT NOT NULL DEFAULT '0'");
     $this->addFieldDefinition(self::field_update_when, "TIMESTAMP");
     // check field definitions
     $this->checkFieldDefinitions();
     // create tables
     if ($this->create_tables) {
         if (!$this->sqlTableExists()) {
             if (!$this->sqlCreateTable()) {
                 $this->setError(sprintf('[%s - %s] %s', __METHOD__, __LINE__, $this->getError()));
                 return false;
             }
         }
     }
     return true;
 }