diff --git a/upnp/basedriver/pom.xml b/upnp/basedriver/pom.xml
index a85f6e2..84ee971 100644
--- a/upnp/basedriver/pom.xml
+++ b/upnp/basedriver/pom.xml
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
     <groupId>org.apache.felix</groupId>
@@ -18,16 +19,21 @@
       <id>snap.domoware.isti.cnr.it</id>
       <name>Domoware Snapshot Repository</name>
       <url>http://domoware.isti.cnr.it/maven2-snap</url>
-      <releases><enabled>false</enabled></releases>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
     </repository>
     <!-- For release (no snapshots jars or non-apache jars)           -->
     <repository>
       <id>release.domoware.isti.cnr.it</id>
       <name>Domoware Release Repository</name>
       <url>http://domoware.isti.cnr.it/maven2</url>
-      <snapshots><enabled>false</enabled></snapshots>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
     </repository>
-  </repositories>   <!-- <url>http://maven.apache.org</url> -->
+  </repositories>
+  <!-- <url>http://maven.apache.org</url> -->
 
   <profiles>
 
@@ -39,46 +45,57 @@
           <value>jdk13</value>
         </property>
       </activation>
-  <dependencies>
-    <dependency>
-      <groupId>it.cnr.isti.domoware.cyberdomo</groupId>
-      <artifactId>upnp-stack-jdk13</artifactId>
-      <version>1.8.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${pom.name}</Bundle-Name>
-            <Bundle-Activator>org.apache.felix.upnp.basedriver.Activator</Bundle-Activator>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-            <Bundle-Author><![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]></Bundle-Author>
-            <Bundle-Description>
-               	A Bundle implementation of the UPnP Service Specification R4
-            </Bundle-Description>
-            <Bundle-SymbolicName>org.apache.felix.upnp.basedriver</Bundle-SymbolicName>
-	    <!--Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
-	    <Embed-Transitive>true</Embed-Transitive-->
-	    <Export-Package>
-	      org.apache.felix.upnp.extra.*
-	    </Export-Package>
-            <Import-Package>
-              org.osgi.*
-            </Import-Package>
-            <Private-Package>
-              org.apache.felix.upnp.basedriver.*, org.kxml2.io, org.xmlpull.v1, org.cybergarage.*, org.apache.xerces.impl.dv.util
-            </Private-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+      <dependencies>
+        <dependency>
+          <groupId>it.cnr.isti.domoware.cyberdomo</groupId>
+          <artifactId>upnp-stack-jdk13</artifactId>
+          <version>1.8.0-SNAPSHOT</version>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>maven-bundle-plugin</artifactId>
+            <version>1.1.0-SNAPSHOT</version>
+            <extensions>true</extensions>
+            <configuration>
+              <instructions>
+                <Bundle-Name>${pom.name}</Bundle-Name>
+                <Bundle-Activator>
+                  org.apache.felix.upnp.basedriver.Activator
+                </Bundle-Activator>
+                <Bundle-Vendor>
+                  Apache Software Foundation
+                </Bundle-Vendor>
+                <Bundle-Author>
+                  <![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]>
+                </Bundle-Author>
+                <Bundle-Description>
+                  A Bundle implementation of the UPnP Service
+                  Specification R4
+                </Bundle-Description>
+                <Bundle-SymbolicName>
+                  org.apache.felix.upnp.basedriver
+                </Bundle-SymbolicName>
+                <!--Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
+                  <Embed-Transitive>true</Embed-Transitive-->
+                <Export-Package>
+                  org.apache.felix.upnp.basedriver.controller.*,
+                  org.apache.felix.upnp.basedriver.util.*,
+                  org.apache.xerces.impl.dv.util.*
+                  
+                </Export-Package>
+                <Import-Package>org.osgi.*</Import-Package>
+                <Private-Package>
+                  org.apache.felix.upnp.basedriver.*, org.kxml2.io,
+                  org.xmlpull.v1, org.cybergarage.*
+                </Private-Package>
+              </instructions>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
     </profile>
 
     <profile>
@@ -86,45 +103,57 @@
       <activation>
         <activeByDefault>true</activeByDefault>
       </activation>
-  <dependencies>
-    <dependency>
-      <groupId>it.cnr.isti.domoware.cyberdomo</groupId>
-      <artifactId>upnp-stack</artifactId>
-      <version>1.8.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${pom.name}</Bundle-Name>
-            <Bundle-Activator>org.apache.felix.upnp.basedriver.Activator</Bundle-Activator>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-            <Bundle-Author><![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]></Bundle-Author>
-            <Bundle-Description>
-               	A Bundle implementation of the UPnP Service Specification R4
-            </Bundle-Description>
-            <Bundle-SymbolicName>org.apache.felix.upnp.basedriver</Bundle-SymbolicName>
-	    <Export-Package>
-	      org.apache.felix.upnp.extra.*
-	    </Export-Package>
-            <Import-Package>
-              org.osgi.*, javax.xml.parsers, org.w3c.dom, org.xml.sax
-            </Import-Package>
-            <Private-Package>
-              org.apache.felix.upnp.basedriver.*, org.cybergarage.*,org.apache.xerces.impl.dv.util
-            </Private-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
+      <dependencies>
+        <dependency>
+          <groupId>it.cnr.isti.domoware.cyberdomo</groupId>
+          <artifactId>upnp-stack</artifactId>
+          <version>1.8.0-SNAPSHOT</version>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>maven-bundle-plugin</artifactId>
+            <version>1.1.0-SNAPSHOT</version>
+            <extensions>true</extensions>
+            <configuration>
+              <instructions>
+                <Bundle-Name>${pom.name}</Bundle-Name>
+                <Bundle-Activator>
+                  org.apache.felix.upnp.basedriver.Activator
+                </Bundle-Activator>
+                <Bundle-Vendor>
+                  Apache Software Foundation
+                </Bundle-Vendor>
+                <Bundle-Author>
+                  <![CDATA[Matteo Demuru <demuru@apache.org>,Francesco Furfari <furfari@apache.org>,Stefano "Kismet" Lenzi <lenzi@apache.org>]]>
+                </Bundle-Author>
+                <Bundle-Description>
+                  A Bundle implementation of the UPnP Service
+                  Specification R4
+                </Bundle-Description>
+                <Bundle-SymbolicName>
+                  org.apache.felix.upnp.basedriver
+                </Bundle-SymbolicName>
+                <Export-Package>
+                  org.apache.felix.upnp.basedriver.controller.*,
+                  org.apache.felix.upnp.basedriver.util.*,
+                  org.apache.xerces.impl.dv.util.*
+                </Export-Package>
+                <Import-Package>
+                  org.osgi.*, javax.xml.parsers, org.w3c.dom,
+                  org.xml.sax
+                </Import-Package>
+                <Private-Package>
+                  org.apache.felix.upnp.basedriver.*,
+                  org.cybergarage.*
+                </Private-Package>
+              </instructions>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
     </profile>
   </profiles>
 
@@ -142,10 +171,5 @@
       <version>0.9.0-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.upnp.extra</artifactId>
-      <version>0.3.0-SNAPSHOT</version>      
-    </dependency>
   </dependencies>
 </project>
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
index 63bc6de..284de3b 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
@@ -25,6 +25,8 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
 
+import org.apache.felix.upnp.basedriver.controller.DevicesInfo;
+import org.apache.felix.upnp.basedriver.controller.DriverController;
 import org.apache.felix.upnp.basedriver.controller.impl.DriverControllerImpl;
 import org.apache.felix.upnp.basedriver.export.RootDeviceExportingQueue;
 import org.apache.felix.upnp.basedriver.export.RootDeviceListener;
@@ -36,8 +38,6 @@
 import org.apache.felix.upnp.basedriver.importer.core.event.thread.Notifier;
 import org.apache.felix.upnp.basedriver.importer.core.event.thread.SubScriber;
 import org.apache.felix.upnp.basedriver.tool.Logger;
-import org.apache.felix.upnp.extra.controller.DevicesInfo;
-import org.apache.felix.upnp.extra.controller.DriverController;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/controller/DevicesInfo.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/DevicesInfo.java
similarity index 97%
rename from upnp/extra/src/main/java/org/apache/felix/upnp/extra/controller/DevicesInfo.java
rename to upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/DevicesInfo.java
index 580657f..b11d133 100644
--- a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/controller/DevicesInfo.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/DevicesInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.upnp.extra.controller;
+package org.apache.felix.upnp.basedriver.controller;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/controller/DriverController.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/DriverController.java
similarity index 97%
rename from upnp/extra/src/main/java/org/apache/felix/upnp/extra/controller/DriverController.java
rename to upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/DriverController.java
index 4110b04..176e6e5 100644
--- a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/controller/DriverController.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/DriverController.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.upnp.extra.controller;
+package org.apache.felix.upnp.basedriver.controller;
 
 //import java.net.InetAddress;
 
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java
index bcd67e4..f54b4dc 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/impl/DriverControllerImpl.java
@@ -25,8 +25,8 @@
 import org.apache.felix.upnp.basedriver.Activator;
 import org.apache.felix.upnp.basedriver.importer.core.MyCtrlPoint;
 import org.apache.felix.upnp.basedriver.tool.Logger;
-import org.apache.felix.upnp.extra.controller.DevicesInfo;
-import org.apache.felix.upnp.extra.controller.DriverController;
+import org.apache.felix.upnp.basedriver.controller.DevicesInfo;
+import org.apache.felix.upnp.basedriver.controller.DriverController;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
index 599934d..cd718c4 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/BuildDevice.java
@@ -40,7 +40,7 @@
 import org.osgi.service.upnp.UPnPStateVariable;
 
 import org.apache.felix.upnp.basedriver.Activator;
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
 */
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
index c463a50..7bea4fd 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/ExporterUPnPEventListener.java
@@ -30,7 +30,7 @@
 
 import org.osgi.service.upnp.UPnPEventListener;
 
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java
index 2ecf042..0752ff2 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/export/GeneralActionListener.java
@@ -40,7 +40,7 @@
 import org.osgi.service.upnp.UPnPService;
 
 import org.apache.felix.upnp.basedriver.Activator;
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/MyCtrlPoint.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/MyCtrlPoint.java
index 59bc43d..7e5509a 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/MyCtrlPoint.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/MyCtrlPoint.java
@@ -65,7 +65,7 @@
 import org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPDeviceImpl;
 import org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPServiceImpl;
 import org.apache.felix.upnp.basedriver.importer.util.ParseUSN;
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
@@ -88,7 +88,7 @@
     private final String EXPORT_FLTR =
         "(" + UPnPDevice.UPNP_EXPORT + "=*" + ")";
     private final String IMPORT_FLTR =
-        "(" + org.apache.felix.upnp.extra.util.Constants.UPNP_IMPORT + "=*" + ")";
+        "(" + org.apache.felix.upnp.basedriver.util.Constants.UPNP_IMPORT + "=*" + ")";
 
     
     public MyCtrlPoint(BundleContext context, SubscriptionQueue subQueue,
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java
index 40523b9..33b2837 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPActionImpl.java
@@ -32,7 +32,7 @@
 import org.osgi.service.upnp.UPnPException;
 import org.osgi.service.upnp.UPnPStateVariable;
 
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPStateVariableImpl.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPStateVariableImpl.java
index eac590d..e5b5f8d 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPStateVariableImpl.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/core/upnp/UPnPStateVariableImpl.java
@@ -29,7 +29,7 @@
 
 import org.osgi.service.upnp.UPnPStateVariable;
 
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java
index ccb6ec4..e24e043 100644
--- a/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java
@@ -38,7 +38,7 @@
 
 import org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPIconImpl;
 import org.apache.felix.upnp.basedriver.importer.core.upnp.UPnPServiceImpl;
-import org.apache.felix.upnp.extra.util.Constants;
+import org.apache.felix.upnp.basedriver.util.Constants;
 
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
diff --git a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Constants.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
similarity index 95%
rename from upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Constants.java
rename to upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
index 8b8b993..133f4d2 100644
--- a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Constants.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.upnp.extra.util;
+package org.apache.felix.upnp.basedriver.util;
 /* 
 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
 */
diff --git a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
similarity index 98%
rename from upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java
rename to upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
index 6e48c5f..21a155b 100644
--- a/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/Converter.java
+++ b/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.upnp.extra.util;
+package org.apache.felix.upnp.basedriver.util;
 
 import java.text.ParseException;
 import java.text.ParsePosition;
diff --git a/upnp/extra/src/main/java/org/apache/xerces/impl/dv/util/Base64.java b/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
similarity index 100%
rename from upnp/extra/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
rename to upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
diff --git a/upnp/extra/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java b/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
similarity index 100%
rename from upnp/extra/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
rename to upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
diff --git a/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java b/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java
index b5d5b35..aa19acb 100644
--- a/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java
+++ b/upnp/samples/clock/src/main/java/org/apache/felix/upnp/sample/clock/ClockFrame.java
@@ -108,7 +108,7 @@
 	{
 		clockDev.start();
 		
-		timerThread = new Thread(this);
+		timerThread = new Thread(this,"upnp.sample.clock.ClockFrame");
 		timerThread.start();
 	}
 	
diff --git a/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java b/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
index 99faee0..1bafddc 100644
--- a/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
+++ b/upnp/samples/tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
@@ -107,7 +107,7 @@
 	{
 		tvDev.start();
 		
-		timerThread = new Thread(this);
+		timerThread = new Thread(this,"upnp.sample.tv.TVFrame");
 		timerThread.start();
 	}
 	
diff --git a/upnp/tester/pom.xml b/upnp/tester/pom.xml
index f17f4fe..e867d49 100644
--- a/upnp/tester/pom.xml
+++ b/upnp/tester/pom.xml
@@ -1,38 +1,17 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <parent>
-    <groupId>org.apache.felix</groupId>
     <artifactId>felix</artifactId>
+    <groupId>org.apache.felix</groupId>
     <version>1.1.0-SNAPSHOT</version>
     <relativePath>../pom/pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
-  <packaging>bundle</packaging>
   <groupId>org.apache.felix</groupId>
-  <name>Apache Felix UPnP Tester</name>
   <artifactId>org.apache.felix.upnp.tester</artifactId>
+  <packaging>bundle</packaging>
+  <name>Apache Felix UPnP Tester</name>
   <version>0.2.0-SNAPSHOT</version>
-  <!-- <url>http://maven.apache.org</url> -->
-  <dependencies>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>1.1.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-      <version>0.9.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.upnp.extra</artifactId>
-      <version>0.3.0-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
   <build>
     <plugins>
       <plugin>
@@ -57,4 +36,32 @@
       </plugin>
     </plugins>
   </build>
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.upnp.basedriver</artifactId>
+      <version>0.3.0-SNAPSHOT</version>
+    </dependency>
+     <!-- dependency>
+       Note: this dependency might be restored when (if) a converter utility will be exposed by extra bundle.
+       So far Tester uses the Converter class of the basedriver (it should be fixed)
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.upnp.extra</artifactId>
+      <version>0.3.0-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency -->
+  </dependencies>
 </project>
+
diff --git a/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java b/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java
index fa835ba..179cb5d 100644
--- a/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java
+++ b/upnp/tester/src/main/java/org/apache/felix/upnp/tester/discovery/DriverProxy.java
@@ -24,8 +24,8 @@
 import org.osgi.framework.ServiceListener;
 import org.osgi.framework.ServiceReference;
 
-import org.apache.felix.upnp.extra.controller.DevicesInfo;
-import org.apache.felix.upnp.extra.controller.DriverController;
+import org.apache.felix.upnp.basedriver.controller.DevicesInfo;
+import org.apache.felix.upnp.basedriver.controller.DriverController;
 import org.apache.felix.upnp.tester.Activator;
 import org.apache.felix.upnp.tester.Mediator;
 /* 
diff --git a/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java b/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java
index 0933adb..d8654b4 100644
--- a/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java
+++ b/upnp/tester/src/main/java/org/apache/felix/upnp/tester/gui/ActionPanel.java
@@ -49,7 +49,7 @@
 import org.osgi.service.upnp.UPnPException;
 import org.osgi.service.upnp.UPnPStateVariable;
 
-import org.apache.felix.upnp.extra.util.Converter;
+import org.apache.felix.upnp.basedriver.util.Converter;
 import org.apache.felix.upnp.tester.Mediator;
 
 /* 
