generateClientID
merged