generate client id on the client