diff --git a/org.apache.felix.examples.dictionaryclient/pom.xml b/org.apache.felix.examples.dictionaryclient/pom.xml
index 0b71837..d7f42d9 100644
--- a/org.apache.felix.examples.dictionaryclient/pom.xml
+++ b/org.apache.felix.examples.dictionaryclient/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
diff --git a/org.apache.felix.examples.dictionaryclient2/pom.xml b/org.apache.felix.examples.dictionaryclient2/pom.xml
index f580fb5..e2564a5 100644
--- a/org.apache.felix.examples.dictionaryclient2/pom.xml
+++ b/org.apache.felix.examples.dictionaryclient2/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
diff --git a/org.apache.felix.examples.dictionaryservice/pom.xml b/org.apache.felix.examples.dictionaryservice/pom.xml
index d665afe..379d145 100644
--- a/org.apache.felix.examples.dictionaryservice/pom.xml
+++ b/org.apache.felix.examples.dictionaryservice/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
diff --git a/org.apache.felix.examples.eventlistener/pom.xml b/org.apache.felix.examples.eventlistener/pom.xml
index befc013..657b01d 100644
--- a/org.apache.felix.examples.eventlistener/pom.xml
+++ b/org.apache.felix.examples.eventlistener/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
diff --git a/org.apache.felix.examples.frenchdictionary/pom.xml b/org.apache.felix.examples.frenchdictionary/pom.xml
index f66293e..f451507 100644
--- a/org.apache.felix.examples.frenchdictionary/pom.xml
+++ b/org.apache.felix.examples.frenchdictionary/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
diff --git a/org.apache.felix.examples.spellcheckbinder/pom.xml b/org.apache.felix.examples.spellcheckbinder/pom.xml
index b07b5a0..f95b1bd 100644
--- a/org.apache.felix.examples.spellcheckbinder/pom.xml
+++ b/org.apache.felix.examples.spellcheckbinder/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
@@ -28,9 +28,9 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.ungoverned.gravity.servicebinder</groupId>
-      <artifactId>servicebinder</artifactId>
-      <version>1.0</version>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.apache.felix.servicebinder</artifactId>
+      <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
@@ -58,7 +58,7 @@
               org.apache.felix.examples.spellcheckbinder.Activator
             </bundleActivator>
             <importPackage>
-              org.apache.felix.examples.dictionaryservice, org.ungoverned.gravity.servicebinder, org.apache.felix.examples.spellcheckservice
+              org.apache.felix.examples.dictionaryservice, org.apache.felix.servicebinder, org.apache.felix.examples.spellcheckservice
             </importPackage>
           </osgiManifest>
         </configuration>
diff --git a/org.apache.felix.examples.spellcheckbinder/src/main/java/org/apache/felix/examples/spellcheckbinder/Activator.java b/org.apache.felix.examples.spellcheckbinder/src/main/java/org/apache/felix/examples/spellcheckbinder/Activator.java
index cedeea7..e5d448e 100644
--- a/org.apache.felix.examples.spellcheckbinder/src/main/java/org/apache/felix/examples/spellcheckbinder/Activator.java
+++ b/org.apache.felix.examples.spellcheckbinder/src/main/java/org/apache/felix/examples/spellcheckbinder/Activator.java
@@ -17,14 +17,14 @@
 package org.apache.felix.examples.spellcheckbinder;
 
 
-import org.ungoverned.gravity.servicebinder.GenericActivator;
+import org.apache.felix.servicebinder.GenericActivator;
 
 
 /**
  * This example re-implements the spell check service of Example 5 using the
- * Gravity Service Binder. The Service Binder greatly simplifies creating OSGi
+ * Apache Felix Service Binder. The Service Binder greatly simplifies creating OSGi
  * applications by essentially eliminating the need to write OSGi-related code;
- * instead of writing OSGi code for you bundle, you create a simple XML file to
+ * instead of writing OSGi code for your bundle, you create a simple XML file to
  * describe your bundle's service dependencies. This class extends the generic
  * bundle activator; it does not provide any additional functionality. All
  * functionality for service-related tasks, such as look-up and binding, is
diff --git a/org.apache.felix.examples.spellcheckbinder/src/main/resources/metadata.xml b/org.apache.felix.examples.spellcheckbinder/src/main/resources/metadata.xml
index 2bf1bf8..8bed961 100644
--- a/org.apache.felix.examples.spellcheckbinder/src/main/resources/metadata.xml
+++ b/org.apache.felix.examples.spellcheckbinder/src/main/resources/metadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <bundle>
   <!--
-     This metadata file instructs the Gravity Service Binder to
+     This metadata file instructs the Apache Felix Service Binder to
      create one instance of "SpellCheckServiceImpl". It also
      tells the generic activator that this instance implements the
      "SpellCheckService" service interface and that it has an
diff --git a/org.apache.felix.examples.spellcheckclient/pom.xml b/org.apache.felix.examples.spellcheckclient/pom.xml
index 20022cc..b0ca0d7 100644
--- a/org.apache.felix.examples.spellcheckclient/pom.xml
+++ b/org.apache.felix.examples.spellcheckclient/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
diff --git a/org.apache.felix.examples.spellcheckservice/pom.xml b/org.apache.felix.examples.spellcheckservice/pom.xml
index cfeeffb..baa2a17 100644
--- a/org.apache.felix.examples.spellcheckservice/pom.xml
+++ b/org.apache.felix.examples.spellcheckservice/pom.xml
@@ -11,7 +11,7 @@
   <dependencies>
     <dependency>
       <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi</artifactId>
+      <artifactId>org.osgi.core</artifactId>
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
