changed unique ID generation