diff --git a/upnp.basedriver/pom.xml b/upnp.basedriver/pom.xml
index 36f8b07..ee68800 100644
--- a/upnp.basedriver/pom.xml
+++ b/upnp.basedriver/pom.xml
@@ -1,76 +1,77 @@
-<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>
-    <version>0.9.0-incubator-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <packaging>osgi-bundle</packaging>
-  <groupId>org.apache.felix</groupId>
-  <name>Apache Felix UPnP Base Driver</name>
-  <artifactId>org.apache.felix.upnp.basedriver</artifactId>
-  <version>0.1.0-incubator-SNAPSHOT</version>
-  <repositories>
-    <!-- For snapshots (no release jars or non-apache jars)           -->
-    <repository>
-      <id>domoware.isti.cnr.it</id>
-      <name>DomoWare Repository for Missing Artifacts</name>
-      <url>http://domoware.isti.cnr.it/maven2</url>
-    </repository>
-  </repositories>   <!-- <url>http://maven.apache.org</url> -->
-  <dependencies>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>0.9.0-incubator-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>${pom.groupId}</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-      <version>0.9.0-incubator-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.upnp.extra</artifactId>
-      <version>0.1.0-incubator-SNAPSHOT</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org-cybergarage</groupId>
-      <artifactId>cyberlink-upnp-patched</artifactId>
-      <version>1.7.2</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix.plugins</groupId>
-        <artifactId>maven-osgi-plugin</artifactId>
-        <!-- <version>${pom.version}</version> -->
-        <extensions>true</extensions>
-        <configuration>
-          <osgiManifest>
-            <bundleName>UPnPBaseDriver</bundleName>
-            <bundleVendor>Apache Software Foundation</bundleVendor>
-            <bundleVersion>0.1.0</bundleVersion>
-            <bundleDescription>
-               	A Bundle implementation of the UPnP Service Specification R4
-            </bundleDescription>
-            <bundleSymbolicName>org.apache.felix.upnp.basedriver</bundleSymbolicName>
-		    <bundleActivator>org.apache.felix.upnp.basedriver.Activator</bundleActivator>
-          </osgiManifest>
-          <manifestFile>src/main/resources/release/META-INF/Manifest.mf</manifestFile>
-        </configuration>
-      </plugin>
-    </plugins>
-    <resources>
-      <resource>
-	  <directory>src/main/resources/release</directory>
-      </resource>
-    </resources>
-  </build>
-</project>
+<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>
+    <version>0.9.0-incubator-SNAPSHOT</version>
+    <relativePath>../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>osgi-bundle</packaging>
+  <groupId>org.apache.felix</groupId>
+  <name>Apache Felix UPnP Base Driver</name>
+  <artifactId>org.apache.felix.upnp.basedriver</artifactId>
+  <version>0.1.0-incubator-SNAPSHOT</version>
+  <repositories>
+    <!-- For snapshots (no release jars or non-apache jars)           -->
+    <repository>
+      <id>domoware.isti.cnr.it</id>
+      <name>DomoWare Repository for Missing Artifacts</name>
+      <url>http://domoware.isti.cnr.it/maven2</url>
+    </repository>
+  </repositories>   <!-- <url>http://maven.apache.org</url> -->
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>0.9.0-incubator-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>0.9.0-incubator-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.upnp.extra</artifactId>
+      <version>0.1.0-incubator-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org-cybergarage</groupId>
+      <artifactId>cyberlink-upnp-patched</artifactId>
+      <version>1.7.2</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix.plugins</groupId>
+        <artifactId>maven-osgi-plugin</artifactId>
+        <!-- <version>${pom.version}</version> -->
+        <extensions>true</extensions>
+        <configuration>
+          <osgiManifest>
+            <bundleName>UPnPBaseDriver</bundleName>
+            <bundleVendor>Apache Software Foundation</bundleVendor>
+            <bundleVersion>0.1.0</bundleVersion>
+            <bundleDescription>
+               	A Bundle implementation of the UPnP Service Specification R4
+            </bundleDescription>
+            <bundleSymbolicName>org.apache.felix.upnp.basedriver</bundleSymbolicName>
+		    <bundleActivator>org.apache.felix.upnp.basedriver.Activator</bundleActivator>
+          </osgiManifest>
+          <manifestFile>src/main/resources/release/META-INF/Manifest.mf</manifestFile>
+        </configuration>
+      </plugin>
+    </plugins>
+    <resources>
+      <resource>
+	  <directory>src/main/resources/release</directory>
+      </resource>
+    </resources>
+  </build>
+</project>
