diff --git a/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java b/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
index 3129b97..2949722 100644
--- a/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
+++ b/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/Activator.java
@@ -70,9 +70,9 @@
         
  		Activator.bc = context;				
 		
-	    String levelStr = (String) Util.getPropertyDefault(context,"domoware.upnpbase.log","2");	    
+	    String levelStr = (String) Util.getPropertyDefault(context,"felix.upnpbase.log","2");	    
 		Activator.logger = new Logger(levelStr);
-	    String cyberLog = (String) Util.getPropertyDefault(context,"domoware.upnpbase.cyberlink.log","false");
+	    String cyberLog = (String) Util.getPropertyDefault(context,"felix.upnpbase.cyberlink.log","false");
 	    Activator.logger.setCyberDebug(cyberLog);
 
         UPnP.setXMLParser(new JaxpParser());
diff --git a/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java b/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java
index 0f6ad24..11fa8b7 100644
--- a/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java
+++ b/org.apache.felix.upnp.basedriver/src/main/java/org/apache/felix/upnp/basedriver/importer/util/DeviceSetup.java
@@ -64,7 +64,7 @@
 	        );
 
 		/*UPNP_IMPORT*/
-		properties.put(Constants.UPNP_IMPORT, "http://domoware.isti.cnr.it");
+		properties.put(Constants.UPNP_IMPORT, "http://felix.apache.org");
 		
 		/* FRIENDLY_NAME */
 		//TODO controllato in metodo getFriendlyName se non esiste il frinedly mi restituisce una stringa vuota
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
index c84566f..dfd5b2d 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
@@ -111,9 +111,6 @@
 		this.notifier = notifier;
 	}
 
-    /* (non-Javadoc)
-     * @see it.cnr.isti.niche.osgi.sample.tv.UPnPStateVariableDescriptor#getValue()
-     */
     public Object getValue() {
          return power;
     }
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
index c8c20ec..557e237 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
@@ -38,7 +38,7 @@
 
 public class TvDevice implements UPnPDevice,UPnPEventListener,ServiceListener  {
 	
-	final private String DEVICE_ID = "uuid:DomoWare-TV";
+	final private String DEVICE_ID = "uuid:Felix-TV";
 	private final static String CLOCK_DEVICE_TYPE = "urn:schemas-upnp-org:device:clock:1";
 	private final static String CLOCK_SERVICE_TYPE = "urn:schemas-upnp-org:service:timer:1";
 	
@@ -97,14 +97,14 @@
 	        	.device.Constants.DEVICE_CATEGORY,
         	new String[]{UPnPDevice.DEVICE_CATEGORY}
         );
-		dictionary.put(UPnPDevice.FRIENDLY_NAME,"Domoware Sample Tv");
-		dictionary.put(UPnPDevice.MANUFACTURER,"ISTI-CNR");
-		dictionary.put(UPnPDevice.MANUFACTURER_URL,"http://domoware.isti.cnr.it");
+		dictionary.put(UPnPDevice.FRIENDLY_NAME,"Felix Sample Tv");
+		dictionary.put(UPnPDevice.MANUFACTURER,"Apache Software Foundation");
+		dictionary.put(UPnPDevice.MANUFACTURER_URL,"http://incubator.apache.org/felix/");
 		dictionary.put(UPnPDevice.MODEL_DESCRIPTION,"A CyberLink Tv device clone to test OSGi to UPnP service import");
 		dictionary.put(UPnPDevice.MODEL_NAME,"BimbiTv");
 		dictionary.put(UPnPDevice.MODEL_NUMBER,"1.0");
-		dictionary.put(UPnPDevice.MODEL_URL,"http://domoware.isti.cnr.it/BimbiTv");
-		dictionary.put(UPnPDevice.PRESENTATION_URL,"http://domoware.isti.cnr.it/BimbiTv/presentation");
+		dictionary.put(UPnPDevice.MODEL_URL,"http://incubator.apache.org/felix/BimbiTv");
+		dictionary.put(UPnPDevice.PRESENTATION_URL,"http://incubator.apache.org/felix/BimbiTv/presentation");
 		dictionary.put(UPnPDevice.SERIAL_NUMBER,"123456789");
 		dictionary.put(UPnPDevice.TYPE,"urn:schemas-upnp-org:device:tv:1");
 		dictionary.put(UPnPDevice.UDN,DEVICE_ID);
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
index 60a7352..758a659 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
@@ -20,7 +20,9 @@
 import java.awt.BorderLayout;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
+import java.net.URL;
 
+import javax.swing.ImageIcon;
 import javax.swing.JFrame;
 
 import org.osgi.framework.BundleException;
@@ -30,7 +32,7 @@
 
 public class TvFrame extends JFrame implements Runnable 
 {
-	private final static String TITLE = "DomoWare Sample TV";
+	private final static String TITLE = "Felix UpnP TV";
 	
 	private TvDevice tvDev;
 	private TvPane tvPane;
@@ -59,6 +61,15 @@
 			}
 		});			
 		
+	       try {
+	            URL eventIconUrl = TvFrame.class.getResource("images/logo.gif");           
+	            ImageIcon icon=  new ImageIcon(eventIconUrl,"logo");
+	            setIconImage(icon.getImage());
+	       }
+	        catch (Exception ex){
+	                System.out.println("Resource: IMAGES/logo.gif not found : " + ex.toString());
+	        }
+	        
 		pack();
 		setVisible(true);
 	}
diff --git a/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/logo.gif b/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/logo.gif
new file mode 100644
index 0000000..ef39d61
--- /dev/null
+++ b/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/logo.gif
Binary files differ
diff --git a/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/tv.jpg b/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/tv.jpg
index 5882710..dd6a1fd 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/tv.jpg
+++ b/org.apache.felix.upnp.sample.tv/src/main/resources/org/apache/felix/upnp/sample/tv/images/tv.jpg
Binary files differ
diff --git a/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java b/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
index cf9bdd7..995598d 100644
--- a/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
+++ b/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
@@ -64,7 +64,7 @@
 	
 	
 	public ControlPoint() {
-		frame = new JFrame("OSGi UPnP Device Tester");
+		frame = new JFrame("Felix UPnPDevice Tester");
        try {
             URL eventIconUrl = Util.class.getResource("IMAGES/logo.gif");           
             ImageIcon icon=  new ImageIcon(eventIconUrl,"logo");
@@ -183,7 +183,7 @@
             });
         
         
-        loggerMenu = new JMenu("Domoware Logger");
+        loggerMenu = new JMenu("Felix Logger");
         final String NO_LOGGING ="No Logging";
         final String ERROR ="Error";
         final String WARNING ="Warning";
diff --git a/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java b/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java
index 403533e..e155fb9 100644
--- a/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java
+++ b/org.apache.felix.upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/TreeViewer.java
@@ -95,9 +95,6 @@
     public void setPopupMenuEnabled(boolean driverControllerAvailable){
         popup.getComponent(0).setEnabled(driverControllerAvailable);
     }
-	/* (non-Javadoc)
-	 * @see org.apache.felix.sample.upnp.DeviceNodeListener#deviceDetected(it.cnr.isti.niche.osgi.upnpbase.export.DeviceNode)
-	 */
 	public void deviceDetected(DeviceNode node) {
 		root.add(new UPnPDeviceTreeNode(node,Activator.context));
 		treeModel.nodeStructureChanged(root);
diff --git a/org.apache.felix.upnp.tester/src/main/resources/org/apache/felix/upnp/tester/gui/IMAGES/logo.gif b/org.apache.felix.upnp.tester/src/main/resources/org/apache/felix/upnp/tester/gui/IMAGES/logo.gif
index 5f5cbb4..ef39d61 100644
--- a/org.apache.felix.upnp.tester/src/main/resources/org/apache/felix/upnp/tester/gui/IMAGES/logo.gif
+++ b/org.apache.felix.upnp.tester/src/main/resources/org/apache/felix/upnp/tester/gui/IMAGES/logo.gif
Binary files differ
diff --git a/pom.xml b/pom.xml
index 61e3fe6..e7c71e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,8 @@
     <module>org.apache.felix.upnp.basedriver</module>
     <module>org.apache.felix.upnp.tester</module>      
     <module>org.apache.felix.upnp.sample.tv</module>
+    <module>org.apache.felix.upnp.sample.clock</module>
+    <module>org.apache.felix.upnp.sample.binaryLight</module>
     <module>org.apache.felix.http.jetty</module>
 	<module>org.apache.felix.scr</module>
 	<module>org.apache.felix.eventadmin</module>
