diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/Activator.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/Activator.java
similarity index 97%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/Activator.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/Activator.java
index 1b979ae..0e7448c 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/Activator.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/Activator.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.felix.http.lightweight.server.Server;
-import org.apache.felix.http.lightweight.servlet.HttpConstants;
+import org.apache.felix.httplite.server.Server;
+import org.apache.felix.httplite.servlet.HttpConstants;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/DefaultContextImpl.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/DefaultContextImpl.java
index cde587b..2503043 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/DefaultContextImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/DefaultContextImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.net.URL;
 
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/HttpServiceFactoryImpl.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/HttpServiceFactoryImpl.java
similarity index 97%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/HttpServiceFactoryImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/HttpServiceFactoryImpl.java
index 6603303..c478439 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/HttpServiceFactoryImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/HttpServiceFactoryImpl.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.felix.http.lightweight.server.Server;
+import org.apache.felix.httplite.server.Server;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceRegistration;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/HttpServiceImpl.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/HttpServiceImpl.java
similarity index 95%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/HttpServiceImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/HttpServiceImpl.java
index 1a4f4f5..9efdcfc 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/HttpServiceImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/HttpServiceImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.io.IOException;
 import java.io.OutputStream;
@@ -29,11 +29,11 @@
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
 
-import org.apache.felix.http.lightweight.server.ResourceHandler;
-import org.apache.felix.http.lightweight.server.Server;
-import org.apache.felix.http.lightweight.server.ServletHandler;
-import org.apache.felix.http.lightweight.servlet.HttpServletRequestImpl;
-import org.apache.felix.http.lightweight.servlet.HttpServletResponseImpl;
+import org.apache.felix.httplite.server.ResourceHandler;
+import org.apache.felix.httplite.server.Server;
+import org.apache.felix.httplite.server.ServletHandler;
+import org.apache.felix.httplite.servlet.HttpServletRequestImpl;
+import org.apache.felix.httplite.servlet.HttpServletResponseImpl;
 import org.osgi.framework.Bundle;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/Logger.java
similarity index 99%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/Logger.java
index f9ed58f..28af5d7 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/Logger.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/Logger.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistration.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistration.java
similarity index 96%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistration.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistration.java
index 0481727..5753614 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistration.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistration.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.util.Dictionary;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
 
-import org.apache.felix.http.lightweight.servlet.ServletConfigImpl;
-import org.apache.felix.http.lightweight.servlet.ServletContextImpl;
+import org.apache.felix.httplite.servlet.ServletConfigImpl;
+import org.apache.felix.httplite.servlet.ServletContextImpl;
 import org.osgi.service.http.HttpContext;
 
 /**
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistrationHandler.java
similarity index 96%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistrationHandler.java
index 42f52d6..a2cd594 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationHandler.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistrationHandler.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.io.IOException;
 
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java b/httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistrationResolver.java
similarity index 92%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
rename to httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistrationResolver.java
index bf410e3..7d9112e 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/osgi/ServiceRegistrationResolver.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/osgi/ServiceRegistrationResolver.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.osgi;
+package org.apache.felix.httplite.osgi;
 
 import java.io.OutputStream;
 import java.net.Socket;
 
-import org.apache.felix.http.lightweight.servlet.HttpServletRequestImpl;
-import org.apache.felix.http.lightweight.servlet.HttpServletResponseImpl;
+import org.apache.felix.httplite.servlet.HttpServletRequestImpl;
+import org.apache.felix.httplite.servlet.HttpServletResponseImpl;
 
 /**
  * An interface to provide internal classes with access to client service registration state.
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/server/Connection.java b/httplite/src/main/java/org/apache/felix/httplite/server/Connection.java
similarity index 94%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/server/Connection.java
rename to httplite/src/main/java/org/apache/felix/httplite/server/Connection.java
index e8c96f0..622e255 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/server/Connection.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/server/Connection.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.server;
+package org.apache.felix.httplite.server;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
@@ -27,13 +27,13 @@
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.felix.http.lightweight.osgi.Logger;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistrationHandler;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistrationResolver;
-import org.apache.felix.http.lightweight.servlet.ConcreteServletInputStream;
-import org.apache.felix.http.lightweight.servlet.HttpConstants;
-import org.apache.felix.http.lightweight.servlet.HttpServletRequestImpl;
-import org.apache.felix.http.lightweight.servlet.HttpServletResponseImpl;
+import org.apache.felix.httplite.osgi.Logger;
+import org.apache.felix.httplite.osgi.ServiceRegistrationHandler;
+import org.apache.felix.httplite.osgi.ServiceRegistrationResolver;
+import org.apache.felix.httplite.servlet.ConcreteServletInputStream;
+import org.apache.felix.httplite.servlet.HttpConstants;
+import org.apache.felix.httplite.servlet.HttpServletRequestImpl;
+import org.apache.felix.httplite.servlet.HttpServletResponseImpl;
 
 /**
  * This class represents an accepted connection between the server and
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ResourceHandler.java b/httplite/src/main/java/org/apache/felix/httplite/server/ResourceHandler.java
similarity index 88%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/server/ResourceHandler.java
rename to httplite/src/main/java/org/apache/felix/httplite/server/ResourceHandler.java
index 6e882da..2b1950f 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ResourceHandler.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/server/ResourceHandler.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.server;
+package org.apache.felix.httplite.server;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 
-import org.apache.felix.http.lightweight.osgi.ServiceRegistration;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistrationHandler;
-import org.apache.felix.http.lightweight.servlet.HttpConstants;
-import org.apache.felix.http.lightweight.servlet.HttpServletRequestImpl;
-import org.apache.felix.http.lightweight.servlet.HttpServletResponseImpl;
+import org.apache.felix.httplite.osgi.ServiceRegistration;
+import org.apache.felix.httplite.osgi.ServiceRegistrationHandler;
+import org.apache.felix.httplite.servlet.HttpConstants;
+import org.apache.felix.httplite.servlet.HttpServletRequestImpl;
+import org.apache.felix.httplite.servlet.HttpServletResponseImpl;
 import org.osgi.service.http.HttpContext;
 
 /**
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/server/Server.java b/httplite/src/main/java/org/apache/felix/httplite/server/Server.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/server/Server.java
rename to httplite/src/main/java/org/apache/felix/httplite/server/Server.java
index b87fbb6..f4bd2ab 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/server/Server.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/server/Server.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.server;
+package org.apache.felix.httplite.server;
 
 import java.io.IOException;
 import java.net.InetAddress;
@@ -26,8 +26,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.felix.http.lightweight.osgi.Logger;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistrationResolver;
+import org.apache.felix.httplite.osgi.Logger;
+import org.apache.felix.httplite.osgi.ServiceRegistrationResolver;
 
 /**
  * This class implements a simple multi-threaded web server. It
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ServletHandler.java b/httplite/src/main/java/org/apache/felix/httplite/server/ServletHandler.java
similarity index 87%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/server/ServletHandler.java
rename to httplite/src/main/java/org/apache/felix/httplite/server/ServletHandler.java
index 277848a..141212c 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ServletHandler.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/server/ServletHandler.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.server;
+package org.apache.felix.httplite.server;
 
 import java.io.IOException;
 
 import javax.servlet.ServletException;
 
-import org.apache.felix.http.lightweight.osgi.Logger;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistration;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistrationHandler;
-import org.apache.felix.http.lightweight.servlet.HttpServletRequestImpl;
-import org.apache.felix.http.lightweight.servlet.HttpServletResponseImpl;
+import org.apache.felix.httplite.osgi.Logger;
+import org.apache.felix.httplite.osgi.ServiceRegistration;
+import org.apache.felix.httplite.osgi.ServiceRegistrationHandler;
+import org.apache.felix.httplite.servlet.HttpServletRequestImpl;
+import org.apache.felix.httplite.servlet.HttpServletResponseImpl;
 
 /**
  *  Handles servlet processing.  
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ThreadGate.java b/httplite/src/main/java/org/apache/felix/httplite/server/ThreadGate.java
similarity index 96%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/server/ThreadGate.java
rename to httplite/src/main/java/org/apache/felix/httplite/server/ThreadGate.java
index 15c19d0..1086051 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ThreadGate.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/server/ThreadGate.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.server;
+package org.apache.felix.httplite.server;
 
 /**
  * This class implements a simple one-shot gate for threads. The gate
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ThreadPool.java b/httplite/src/main/java/org/apache/felix/httplite/server/ThreadPool.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/server/ThreadPool.java
rename to httplite/src/main/java/org/apache/felix/httplite/server/ThreadPool.java
index e4c0455..a55f04f 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/server/ThreadPool.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/server/ThreadPool.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.server;
+package org.apache.felix.httplite.server;
 
 import java.net.SocketTimeoutException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.felix.http.lightweight.osgi.Logger;
+import org.apache.felix.httplite.osgi.Logger;
 
 /**
  * This class implements a simple thread pool for servicing HTTP connections.
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ConcreteServletInputStream.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/ConcreteServletInputStream.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ConcreteServletInputStream.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/ConcreteServletInputStream.java
index 925311c..f938a46 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ConcreteServletInputStream.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/ConcreteServletInputStream.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpConstants.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/HttpConstants.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpConstants.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/HttpConstants.java
index f321aa1..940aac7 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpConstants.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/HttpConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.util.Collections;
 import java.util.Enumeration;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpServletRequestImpl.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/HttpServletRequestImpl.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpServletRequestImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/HttpServletRequestImpl.java
index 7ed2511..bff22e7 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpServletRequestImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/HttpServletRequestImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
@@ -48,9 +48,9 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
-import org.apache.felix.http.lightweight.osgi.Logger;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistration;
-import org.apache.felix.http.lightweight.osgi.ServiceRegistrationResolver;
+import org.apache.felix.httplite.osgi.Logger;
+import org.apache.felix.httplite.osgi.ServiceRegistration;
+import org.apache.felix.httplite.osgi.ServiceRegistrationResolver;
 
 /**
  * This class represents an HTTP request, which is parses from a given input
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpServletResponseImpl.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/HttpServletResponseImpl.java
similarity index 99%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpServletResponseImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/HttpServletResponseImpl.java
index 7990014..bd2f314 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/HttpServletResponseImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/HttpServletResponseImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayInputStream;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletConfigImpl.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletConfigImpl.java
similarity index 97%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletConfigImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/ServletConfigImpl.java
index 75d7f2a..3a24840 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletConfigImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletConfigImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.util.Dictionary;
 import java.util.Enumeration;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletContextImpl.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletContextImpl.java
similarity index 98%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletContextImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/ServletContextImpl.java
index dddddb0..5ee7fac 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletContextImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletContextImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -34,7 +34,7 @@
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 
-import org.apache.felix.http.lightweight.osgi.Logger;
+import org.apache.felix.httplite.osgi.Logger;
 import org.osgi.service.http.HttpContext;
 
 /**
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletOutputStreamImpl.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletOutputStreamImpl.java
similarity index 96%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletOutputStreamImpl.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/ServletOutputStreamImpl.java
index 86774b2..2e1a676 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletOutputStreamImpl.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletOutputStreamImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletPrintWriter.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletPrintWriter.java
similarity index 97%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletPrintWriter.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/ServletPrintWriter.java
index 6b288ef..f9f26d5 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/ServletPrintWriter.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/ServletPrintWriter.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 import java.io.CharConversionException;
 import java.io.OutputStream;
diff --git a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/UnimplementedAPIException.java b/httplite/src/main/java/org/apache/felix/httplite/servlet/UnimplementedAPIException.java
similarity index 95%
rename from httplite/src/main/java/org/apache/felix/http/lightweight/servlet/UnimplementedAPIException.java
rename to httplite/src/main/java/org/apache/felix/httplite/servlet/UnimplementedAPIException.java
index d867527..d3faa1c 100644
--- a/httplite/src/main/java/org/apache/felix/http/lightweight/servlet/UnimplementedAPIException.java
+++ b/httplite/src/main/java/org/apache/felix/httplite/servlet/UnimplementedAPIException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.http.lightweight.servlet;
+package org.apache.felix.httplite.servlet;
 
 /**
  * A specific exception for unimplemented features.  Used rather than RuntimeException()
