generate a guaranteed unique id