fix id generator