added random string generation