diff --git a/framework/src/main/java/org/apache/felix/framework/resolver/WireImpl.java b/framework/src/main/java/org/apache/felix/framework/resolver/WireImpl.java
index a52ce7a..50a0865 100755
--- a/framework/src/main/java/org/apache/felix/framework/resolver/WireImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/resolver/WireImpl.java
@@ -62,7 +62,7 @@
 
     public String toString()
     {
-        return m_req + " (" + m_importer + ") -> " + m_cap + " (" + m_exporter + ")";
+        return m_req + " -> " + "[" + m_exporter + "]";
     }
 
     /* (non-Javadoc)
diff --git a/framework/src/main/java/org/apache/felix/framework/resolver/WireModuleImpl.java b/framework/src/main/java/org/apache/felix/framework/resolver/WireModuleImpl.java
index 42df1cd..17277bb 100644
--- a/framework/src/main/java/org/apache/felix/framework/resolver/WireModuleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/resolver/WireModuleImpl.java
@@ -28,18 +28,18 @@
 public class WireModuleImpl implements Wire
 {
     private final Module m_importer;
-    private final Requirement m_requirement;
+    private final Requirement m_req;
     private final Module m_exporter;
-    private final Capability m_capability;
+    private final Capability m_cap;
     private final List<String> m_packages;
 
     public WireModuleImpl(Module importer, Requirement requirement,
         Module exporter, Capability capability, List<String> packages)
     {
         m_importer = importer;
-        m_requirement = requirement;
+        m_req = requirement;
         m_exporter = exporter;
-        m_capability = capability;
+        m_cap = capability;
         m_packages = packages;
     }
 
@@ -56,7 +56,7 @@
      */
     public Requirement getRequirement()
     {
-        return m_requirement;
+        return m_req;
     }
 
     /* (non-Javadoc)
@@ -72,7 +72,7 @@
      */
     public Capability getCapability()
     {
-        return m_capability;
+        return m_cap;
     }
 
     /* (non-Javadoc)
@@ -159,6 +159,6 @@
 
     public String toString()
     {
-        return m_importer + " -> " + m_capability + " -> " + m_exporter;
+        return m_req + " -> " + "[" + m_exporter + "]";
     }
 }
\ No newline at end of file
