implement GetUniqueIDTable() and adjust file structure