diff --git a/DESCRIPTION b/DESCRIPTION
index 1871224..c9200f5 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,5 +1,5 @@
 Package: rgpt3
-Title: Make requests to the GPT-3 API
+Title: Making requests from R to the GPT-3 API
 Version: 0.0.2
 Authors@R: 
     person("Bennett", "Kleinberg",  email = "bennett.kleinberg@tilburguniversity.edu", role = c("aut", "cre"))
diff --git a/NAMESPACE b/NAMESPACE
index 7057df6..ad791e2 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -3,8 +3,8 @@
 export(gpt3_authenticate)
 export(gpt3_embeddings)
 export(gpt3_requests)
+export(gpt3_single_embedding)
 export(gpt3_single_request)
 export(gpt3_test_request)
-export(gpt_single_embedding)
 export(to_numeric)
 export(url.completions)
diff --git a/R/gpt3_single_embedding.R b/R/gpt3_single_embedding.R
index 8ec6d23..dc6c2ea 100644
--- a/R/gpt3_single_embedding.R
+++ b/R/gpt3_single_embedding.R
@@ -1,7 +1,7 @@
 #' Obtains text embeddings for a single character (string) from the GPT-3 API
 #'
 #' @description
-#' `gpt_single_embedding()` sends a single [embedding request](https://beta.openai.com/docs/guides/embeddings) to the Open AI GPT-3 API.
+#' `gpt3_single_embedding()` sends a single [embedding request](https://beta.openai.com/docs/guides/embeddings) 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.
 #'   - Ada (1024 dimensions)
 #'   - Babbage (2048 dimensions)
@@ -21,13 +21,13 @@
 #'
 #' ## 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."
-#' gpt_single_embedding(input = sample_string)
+#' gpt3_single_embedding(input = sample_string)
 #'
 #' ## Change the model:
-#' #' gpt_single_embedding(input = sample_string
+#' #' gpt3_single_embedding(input = sample_string
 #'     , model = 'text-similarity-curie-001')
 #' @export
-gpt_single_embedding = function(input
+gpt3_single_embedding = function(input
                                , model = 'text-similarity-ada-001'
                                ){
 
diff --git a/README.md b/README.md
index aa55e35..62bb14e 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,64 @@
-# rgpt3
+# `rgpt3` 
 
-(general intro)
+**Making requests from R to the GPT-3 API**
+
+
 
 
 ## Getting started
 
+You can follow these steps to get started with making requests and retrieving embeddings from the Open AI GPT-3 language model.
+
+_If you already have an Open AI API key, you can skip step 1._
+
+1. Obtain your API key
+
+Go to [https://openai.com/api/](https://openai.com/api/), register for a free account and obtain your API key located at [https://beta.openai.com/account/api-keys](https://beta.openai.com/account/api-keys).
+
+Note that Open AI may rotate your key from time to time (but you should receive an email on your registered account if they do so).
+
+2. Set up the `access_key.txt` file
+
+Your access workflow for this package retrieves your API key from a local file. That file is easiest called `access_key.txt` (but any other file name would do). Important is that you use a `.txt` file with just the API key in there (i.e. no string quotation marks).
+
+The path to that file (e.g. `/Users/me/directory1/access_key.txt`) is needed for the `gpt3_authenticate()` function (see below).
+
+
+3. Install the `rgpt3` package
+
+The easiest way to use the package (before its CRAN release) is:
+
+```{r}
+devtools::install_github("ben-aaron188/rgpt3")
+```
+
+4. Run the test workflow
+
+Once the package is installed, you will typically run this work flow:
+
+**Authentication:**
+
+Get the path to your access key file and run the authentication with: `gpt3_authenticate("PATHTO/access_key.txt")`
+
+
+**Interact with GPT-3 via requests:**
+
+The basic form of the GPT-3 API connector is via requests. These requests can be of various kinds including questions ("What is the meaning of life?"), text summarisation tasks, text generation tasks and many more. A whole list of examples is on the [Open AI examples page](https://beta.openai.com/examples).
+
+Think of requests as instructions you give the model, for example:
+
+```{r}
+# This request "tells" GPT-3 to write a cynical text about human nature (five times) with a sampling temperature of 0.9, a maximium length of 100 tokens.
+test_output = gpt3_single_request(prompt_input = 'Write a cynical text about human nature:'
+                    , temperature = 0.9
+                    , max_tokens = 100
+                    , n = 5)
+```
+
+The returned list contains the actual instruction + output in `test_output[[1]]` and meta information about your request in `test_output[[2]]`.
+
+
+
 
 ## Core functions
 
@@ -12,9 +66,12 @@
 ## Examples
 
 
+
+
 ## Cautionary note
 
 
+
 ## Contributing
 
 
@@ -24,4 +81,3 @@
 ## Citation
 
 
-
diff --git a/man/gpt_single_embedding.Rd b/man/gpt3_single_embedding.Rd
similarity index 82%
rename from man/gpt_single_embedding.Rd
rename to man/gpt3_single_embedding.Rd
index 4742405..4b38629 100644
--- a/man/gpt_single_embedding.Rd
+++ b/man/gpt3_single_embedding.Rd
@@ -1,10 +1,10 @@
 % Generated by roxygen2: do not edit by hand
 % Please edit documentation in R/gpt3_single_embedding.R
-\name{gpt_single_embedding}
-\alias{gpt_single_embedding}
+\name{gpt3_single_embedding}
+\alias{gpt3_single_embedding}
 \title{Obtains text embeddings for a single character (string) from the GPT-3 API}
 \usage{
-gpt_single_embedding(input, model = "text-similarity-ada-001")
+gpt3_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{gpt_single_embedding()} sends a single \href{https://beta.openai.com/docs/guides/embeddings}{embedding request} to the Open AI GPT-3 API.
+\code{gpt3_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."
-gpt_single_embedding(input = sample_string)
+gpt3_single_embedding(input = sample_string)
 
 ## Change the model:
-#' gpt_single_embedding(input = sample_string
+#' gpt3_single_embedding(input = sample_string
     , model = 'text-similarity-curie-001')
 }
