diff --git a/man/gpt3_bunch_embedding.Rd b/man/gpt3_embeddings.Rd
similarity index 75%
rename from man/gpt3_bunch_embedding.Rd
rename to man/gpt3_embeddings.Rd
index 9a33169..6c2ac9a 100644
--- a/man/gpt3_bunch_embedding.Rd
+++ b/man/gpt3_embeddings.Rd
@@ -1,14 +1,10 @@
 % Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/bunch_embedding.R
-\name{gpt3_bunch_embedding}
-\alias{gpt3_bunch_embedding}
+% Please edit documentation in R/gpt3_embeddings.R
+\name{gpt3_embeddings}
+\alias{gpt3_embeddings}
 \title{Retrieves text embeddings for character input from a vector from the GPT-3 API}
 \usage{
-gpt3_bunch_embedding(
-  input_var,
-  id_var,
-  param_model = "text-similarity-ada-001"
-)
+gpt3_embeddings(input_var, id_var, param_model = "text-similarity-ada-001")
 }
 \arguments{
 \item{input_var}{character vector that contains the texts for which you want to obtain text embeddings from the GPT-3 model
@@ -20,7 +16,7 @@
 A data.table with the embeddings as separate columns; one row represents one input text. See details.
 }
 \description{
-\code{gpt3_bunch_embedding()} extends the single embeddings function \code{gpt3_make_embedding()} to allow for the processing of a whole vector
+\code{gpt3_embeddings()} extends the single embeddings function \code{gpt3_single_embedding()} to allow for the processing of a whole vector
 }
 \details{
 The returned data.table contains the column \code{id} which indicates the text id (or its generic alternative if not specified) and the columns \code{dim_1} ... \verb{dim_\{max\}}, where \code{max} is the length of the text embeddings vector that the four different models return. For the default "Ada" model, these are 1024 dimensions (i.e., \code{dim_1}... \code{dim_1024}).
@@ -41,16 +37,15 @@
 # First authenticate with your API key via `gpt3_authenticate('pathtokey')`
 
 # Use example data:
-## The data below were generated with the `gpt3_make_request()` function as follows:
+## The data below were generated with the `gpt3_single_request()` function as follows:
 ##### DO NOT RUN #####
-# travel_blog_data = gpt3_make_request(prompt_input = "Write a travel blog about a dog's journey through the UK:", temperature = 0.8, n = 10, max_tokens = 200)[[1]]
+# travel_blog_data = gpt3_single_request(prompt_input = "Write a travel blog about a dog's journey through the UK:", temperature = 0.8, n = 10, max_tokens = 200)[[1]]
 ##### END DO NOT RUN #####
 
 # You can load these data with:
 data("travel_blog_data") # the dataset contains 10 completions for the above request
 
-
 ## Obtain text embeddings for the completion texts:
-gpt3_bunch_embedding(input = sample_string
-    , model = 'text-similarity-curie-001')
+emb_travelblogs = gpt3_embeddings(input_var = travel_blog_data$gpt3)
+dim(emb_travelblogs)
 }
diff --git a/man/gpt3_bunch_request.Rd b/man/gpt3_requests.Rd
similarity index 89%
rename from man/gpt3_bunch_request.Rd
rename to man/gpt3_requests.Rd
index 347dfc4..b85d374 100644
--- a/man/gpt3_bunch_request.Rd
+++ b/man/gpt3_requests.Rd
@@ -1,10 +1,10 @@
 % Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/bunch_request.R
-\name{gpt3_bunch_request}
-\alias{gpt3_bunch_request}
+% Please edit documentation in R/gpt3_requests.R
+\name{gpt3_requests}
+\alias{gpt3_requests}
 \title{Makes bunch completion requests to the GPT-3 API}
 \usage{
-gpt3_bunch_request(
+gpt3_requests(
   prompt_var,
   id_var,
   param_output_type = "complete",
@@ -58,13 +58,13 @@
 If \code{output_type} is "meta", only the data table in slot [\link{2}] is returned.
 }
 \description{
-\code{gpt3_bunch_request()} is the package's main function for rquests and takes as input a vector of prompts and processes each prompt as per the defined parameters. It extends the \code{gpt3_make_request()} function to allow for bunch processing of requests to the Open AI GPT-3 API.
+\code{gpt3_requests()} is the package's main function for rquests and takes as input a vector of prompts and processes each prompt as per the defined parameters. It extends the \code{gpt3_single_request()} function to allow for bunch processing of requests to the Open AI GPT-3 API.
 }
 \details{
 The easiest (and intended) use case for this function is to create a data.frame or data.table with variables that contain the prompts to be requested from GPT-3 and a prompt id (see examples below).
 For a general guide on the completion requests, see \url{https://beta.openai.com/docs/guides/completion}. This function provides you with an R wrapper to send requests with the full range of request parameters as detailed on \url{https://beta.openai.com/docs/api-reference/completions} and reproduced below.
 
-For the \code{best_of} parameter: The \code{gpt3_make_request()} (which is used here in a vectorised manner) handles the issue that best_of must be greater than n by setting \code{if(best_of <= n){ best_of = n}}.
+For the \code{best_of} parameter: The \code{gpt3_single_request()} (which is used here in a vectorised manner) handles the issue that best_of must be greater than n by setting \code{if(best_of <= n){ best_of = n}}.
 
 If \code{id_var} is not provided, the function will use \code{prompt_1} ... \code{prompt_n} as id variable.
 
@@ -81,24 +81,24 @@
 # Once authenticated:
 # Assuming you have a data.table with 3 different prompts:
 dt_prompts = data.table::data.table('prompts' = c('What is the meaning if life?', 'Write a tweet about London:', 'Write a research proposal for using AI to fight fake news:'), 'prompt_id' = c(LETTERS[1:3]))
-gpt3_bunch_request(prompt_var = dt_prompts$prompts
+gpt3_requests(prompt_var = dt_prompts$prompts
    , id_var = dt_prompts$prompt_id)
 
 ## With more controls
-gpt3_bunch_request(prompt_var = dt_prompts$prompts
+gpt3_requests(prompt_var = dt_prompts$prompts
    , id_var = dt_prompts$prompt_id
    , param_max_tokens = 50
    , param_temperature = 0.5
    , param_n = 5)
 
 ## Reproducible example (deterministic approach)
-gpt3_bunch_request(prompt_var = dt_prompts$prompts
+gpt3_requests(prompt_var = dt_prompts$prompts
    , id_var = dt_prompts$prompt_id
    , param_max_tokens = 50
    , param_temperature = 0.0)
 
 ## Changing the GPT-3 model
-gpt3_bunch_request(prompt_var = dt_prompts$prompts
+gpt3_requests(prompt_var = dt_prompts$prompts
    , id_var = dt_prompts$prompt_id
    , param_model = 'text-babbage-001'
    , param_max_tokens = 50
diff --git a/man/gpt3_make_request.Rd b/man/gpt3_single_request.Rd
similarity index 91%
rename from man/gpt3_make_request.Rd
rename to man/gpt3_single_request.Rd
index 504c112..ae3f39a 100644
--- a/man/gpt3_make_request.Rd
+++ b/man/gpt3_single_request.Rd
@@ -1,10 +1,10 @@
 % Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/make_request.R
-\name{gpt3_make_request}
-\alias{gpt3_make_request}
+% Please edit documentation in R/gpt3_single_request.R
+\name{gpt3_single_request}
+\alias{gpt3_single_request}
 \title{Makes a single completion request to the GPT-3 API}
 \usage{
-gpt3_make_request(
+gpt3_single_request(
   prompt_input,
   model = "text-davinci-002",
   output_type = "complete",
@@ -55,7 +55,7 @@
 If \code{output_type} is "meta", only the data table in slot [\link{2}] is returned.
 }
 \description{
-\code{gpt3_make_request()} sends a single \href{https://beta.openai.com/docs/api-reference/completions}{completion request} to the Open AI GPT-3 API.
+\code{gpt3_single_request()} sends a single \href{https://beta.openai.com/docs/api-reference/completions}{completion request} to the Open AI GPT-3 API.
 }
 \details{
 For a general guide on the completion requests, see \url{https://beta.openai.com/docs/guides/completion}. This function provides you with an R wrapper to send requests with the full range of request parameters as detailed on \url{https://beta.openai.com/docs/api-reference/completions} and reproduced below.
@@ -75,21 +75,21 @@
 # Once authenticated:
 
 ## Simple request with defaults:
-gpt3_make_request(prompt_input = 'How old are you?')
+gpt3_single_request(prompt_input = 'How old are you?')
 
 ## Instruct GPT-3 to write ten research ideas of max. 150 tokens with some controls:
-gpt3_make_request(prompt_input = 'Write a research idea about using text data to understand human behaviour:'
+gpt3_single_request(prompt_input = 'Write a research idea about using text data to understand human behaviour:'
    , temperature = 0.8
    , n = 10
    , max_tokens = 150)
 
 ## For fully reproducible results, we need `temperature = 0`, e.g.:
-gpt3_make_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
+gpt3_single_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
     , temperature = 0.0
     , max_tokens = 50)
 
 ## The same example with a different GPT-3 model:
-gpt3_make_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
+gpt3_single_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
     , model = 'text-babbage-001'
     , temperature = 0.0
     , max_tokens = 50)
diff --git a/man/gpt3_make_embedding.Rd b/man/gpt_single_embedding.Rd
similarity index 79%
rename from man/gpt3_make_embedding.Rd
rename to man/gpt_single_embedding.Rd
index b339ab5..4742405 100644
--- a/man/gpt3_make_embedding.Rd
+++ b/man/gpt_single_embedding.Rd
@@ -1,10 +1,10 @@
 % Generated by roxygen2: do not edit by hand
-% Please edit documentation in R/make_embedding.R
-\name{gpt3_make_embedding}
-\alias{gpt3_make_embedding}
+% Please edit documentation in R/gpt3_single_embedding.R
+\name{gpt_single_embedding}
+\alias{gpt_single_embedding}
 \title{Obtains text embeddings for a single character (string) from the GPT-3 API}
 \usage{
-gpt3_make_embedding(input, model = "text-similarity-ada-001")
+gpt_single_embedding(input, model = "text-similarity-ada-001")
 }
 \arguments{
 \item{input}{character that contains the text for which you want to obtain text embeddings from the GPT-3 model}
@@ -15,7 +15,7 @@
 A numeric vector (= the embedding vector)
 }
 \description{
-\code{gpt3_make_embedding()} sends a single \href{https://beta.openai.com/docs/guides/embeddings}{embedding request} to the Open AI GPT-3 API.
+\code{gpt_single_embedding()} sends a single \href{https://beta.openai.com/docs/guides/embeddings}{embedding request} to the Open AI GPT-3 API.
 }
 \details{
 The function supports the text similarity embeddings for the four GPT-3 models as specified in the parameter list. The main difference between the four models is the sophistication of the embedding representation as indicated by the vector embedding size.
@@ -37,9 +37,9 @@
 
 ## Simple request with defaults:
 sample_string = "London is one of the most liveable cities in the world. The city is always full of energy and people. It's always a great place to explore and have fun."
-gpt3_make_embedding(input = sample_string)
+gpt_single_embedding(input = sample_string)
 
 ## Change the model:
-#' gpt3_make_embedding(input = sample_string
+#' gpt_single_embedding(input = sample_string
     , model = 'text-similarity-curie-001')
 }
