modified: add init code in the init function for KEY/UNIQUE/PK