added random-string finction for token generation