fix id gen bug