diff --git a/man/gpt3_bunch_embedding.Rd b/man/gpt3_bunch_embedding.Rd
new file mode 100644
index 0000000..9a33169
--- /dev/null
+++ b/man/gpt3_bunch_embedding.Rd
@@ -0,0 +1,56 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/bunch_embedding.R
+\name{gpt3_bunch_embedding}
+\alias{gpt3_bunch_embedding}
+\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"
+)
+}
+\arguments{
+\item{input_var}{character vector that contains the texts for which you want to obtain text embeddings from the GPT-3 model
+#' @param id_var (optional) character vector that contains the user-defined ids of the prompts. See details.}
+
+\item{param_model}{a character vector that indicates the \href{https://beta.openai.com/docs/guides/embeddings/similarity-embeddings}{similarity embedding model}; one of "text-similarity-ada-001" (default), "text-similarity-curie-001", "text-similarity-babbage-001", "text-similarity-davinci-001"}
+}
+\value{
+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
+}
+\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}).
+
+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.
+\itemize{
+\item Ada (1024 dimensions)
+\item Babbage (2048 dimensions)
+\item Curie (4096 dimensions)
+\item Davinci (12288 dimensions)
+}
+
+Note that the dimension size (= vector length), speed and \href{https://openai.com/api/pricing/}{associated costs} differ considerably.
+
+These vectors can be used for downstream tasks such as (vector) similarity calculations.
+}
+\examples{
+# 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:
+##### 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]]
+##### 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')
+}
diff --git a/man/gpt3_bunch_request.Rd b/man/gpt3_bunch_request.Rd
index 45c4949..347dfc4 100644
--- a/man/gpt3_bunch_request.Rd
+++ b/man/gpt3_bunch_request.Rd
@@ -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_simple_request()} function to allow for bunch processing of requests to the Open AI GPT-3 API.
+\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.
 }
 \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_simple_request()} (which is used here in a vectorised manner) handles the issue that best_of must be greater than n by setting if(best_of <= n){ best_of = n}.
+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}}.
 
 If \code{id_var} is not provided, the function will use \code{prompt_1} ... \code{prompt_n} as id variable.
 
diff --git a/man/gpt3_make_embedding.Rd b/man/gpt3_make_embedding.Rd
new file mode 100644
index 0000000..b339ab5
--- /dev/null
+++ b/man/gpt3_make_embedding.Rd
@@ -0,0 +1,45 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/make_embedding.R
+\name{gpt3_make_embedding}
+\alias{gpt3_make_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")
+}
+\arguments{
+\item{input}{character that contains the text for which you want to obtain text embeddings from the GPT-3 model}
+
+\item{model}{a character vector that indicates the \href{https://beta.openai.com/docs/guides/embeddings/similarity-embeddings}{similarity embedding model}; one of "text-similarity-ada-001" (default), "text-similarity-curie-001", "text-similarity-babbage-001", "text-similarity-davinci-001"}
+}
+\value{
+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.
+}
+\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.
+\itemize{
+\item Ada (1024 dimensions)
+\item Babbage (2048 dimensions)
+\item Curie (4096 dimensions)
+\item Davinci (12288 dimensions)
+}
+
+Note that the dimension size (= vector length), speed and \href{https://openai.com/api/pricing/}{associated costs} differ considerably.
+
+These vectors can be used for downstream tasks such as (vector) similarity calculations.
+}
+\examples{
+# First authenticate with your API key via `gpt3_authenticate('pathtokey')`
+
+# Once authenticated:
+
+## 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)
+
+## Change the model:
+#' gpt3_make_embedding(input = sample_string
+    , model = 'text-similarity-curie-001')
+}
diff --git a/man/gpt3_simple_request.Rd b/man/gpt3_make_request.Rd
similarity index 91%
rename from man/gpt3_simple_request.Rd
rename to man/gpt3_make_request.Rd
index 8570a76..504c112 100644
--- a/man/gpt3_simple_request.Rd
+++ b/man/gpt3_make_request.Rd
@@ -1,10 +1,10 @@
 % Generated by roxygen2: do not edit by hand
 % Please edit documentation in R/make_request.R
-\name{gpt3_simple_request}
-\alias{gpt3_simple_request}
+\name{gpt3_make_request}
+\alias{gpt3_make_request}
 \title{Makes a single completion request to the GPT-3 API}
 \usage{
-gpt3_simple_request(
+gpt3_make_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_simple_request()} sends a single \href{https://beta.openai.com/docs/api-reference/completions}{completion request} to the Open AI GPT-3 API.
+\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.
 }
 \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_simple_request(prompt_input = 'How old are you?')
+gpt3_make_request(prompt_input = 'How old are you?')
 
 ## Instruct GPT-3 to write ten research ideas of max. 150 tokens with some controls:
-gpt3_simple_request(prompt_input = 'Write a research idea about using text data to understand human behaviour:'
+gpt3_make_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_simple_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
+gpt3_make_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_simple_request(prompt_input = 'Finish this sentence:/n There is no easier way to learn R than'
+gpt3_make_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/to_numeric.Rd b/man/to_numeric.Rd
new file mode 100644
index 0000000..17cfc9c
--- /dev/null
+++ b/man/to_numeric.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{to_numeric}
+\alias{to_numeric}
+\title{Convert character vector of numeric values into a numeric vector}
+\usage{
+to_numeric(x)
+}
+\arguments{
+\item{x}{a character vector of numeric values}
+}
+\value{
+A numeric vector
+}
+\description{
+Converts a character vector of numeric values into a numeric vector
+}
+\examples{
+to_numeric('12312')
+}
