diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f592c9996be7..f09038a3ff09 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -179,7 +179,7 @@ dependencies. Fix them:
Next you'll want to import our auto-formatter:
- Select **Window > Preferences**
- - Select **Java > Code Style > Formater**
+ - Select **Java > Code Style > Formatter**
- Click **Import**
- Import the file at **buildSrc/formatterConfig.xml**
- Make sure it is the **Active profile**
@@ -575,10 +575,14 @@ allows you to use these configurations arbitrarily. Here are some of the most
common configurations in our build and how we use them:
-- `compile`
- Code that is on the classpath at both compile and
-runtime.
-- `runtime`
- Code that is not on the classpath at compile time but is
-on the classpath at runtime. We mostly use this configuration to make sure that
+
- `implementation`
- Dependencies that are used by the project
+at compile and runtime but are not exposed as a compile dependency to other dependent projects.
+Dependencies added to the `implementation` configuration are considered an implementation detail
+that can be changed at a later date without affecting any dependent projects.
+- `api`
- Dependencies that are used as compile and runtime depdendencies of a project
+ and are considered part of the external api of the project.
+
- `runtimeOnly`
- Dependencies that not on the classpath at compile time but
+are on the classpath at runtime. We mostly use this configuration to make sure that
we do not accidentally compile against dependencies of our dependencies also
known as "transitive" dependencies".
- `compileOnly`
- Code that is on the classpath at compile time but that