diff --git a/freemarker-tutorial/pom.xml b/freemarker-tutorial/pom.xml
index 6e968d6..22b1f09 100644
--- a/freemarker-tutorial/pom.xml
+++ b/freemarker-tutorial/pom.xml
@@ -1,56 +1,76 @@
 <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">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.ekingstar</groupId>
-  <artifactId>freemarker-quickstart</artifactId>
-  <packaging>war</packaging>
-  <version>0.0.1-SNAPSHOT</version>
-  <name>Freemarker Quickstart Webapp</name>
-  <url>http://maven.apache.org</url>
-  <dependencies>
-    <dependency>
-    	<groupId>com.jfinal</groupId>
-    	<artifactId>jfinal</artifactId>
-    	<version>1.6</version>
-    </dependency>
-    <dependency>
-    	<groupId>org.freemarker</groupId>
-    	<artifactId>freemarker</artifactId>
-    	<version>2.3.20</version>
-    </dependency>
-    <dependency>
-    	<groupId>com.jfinal</groupId>
-    	<artifactId>jetty-server</artifactId>
-    	<version>8.1.8</version>
-    </dependency>
-    <dependency>
-    	<groupId>log4j</groupId>
-    	<artifactId>log4j</artifactId>
-    	<version>1.2.16</version>
-    </dependency>
-  </dependencies>
-  <build>
-    <finalName>freemarker_demo</finalName>
-	    <plugins>
-		  <plugin>
-		    <groupId>org.mortbay.jetty</groupId>
-		    <artifactId>jetty-maven-plugin</artifactId>
-		    <version>8.1.8.v20121106</version>
-		    <configuration>
-		        <stopKey>stop</stopKey>
-		        <stopPort>5599</stopPort>
-		        <webAppConfig>
-		            <contextPath>/</contextPath>
-		        </webAppConfig>
-		        <scanIntervalSeconds>5</scanIntervalSeconds>
-		        <connectors>
-		            <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
-		                <port>8080</port>
-		                <maxIdleTime>60000</maxIdleTime>
-		            </connector>
-		        </connectors>
-		    </configuration>
-		  </plugin>
-	  </plugins>
-  </build>
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>com.supwisdom.tutorial</groupId>
+	<artifactId>freemarker-tutorial</artifactId>
+	<packaging>war</packaging>
+	<version>1.0-SNAPSHOT</version>
+	<name>Freemarker Tutorial Webapp</name>
+	<url>http://maven.apache.org</url>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+	</properties>
+
+	<distributionManagement>
+		<repository>
+			<id>ekingstar-releases</id>
+			<name>internal release</name>
+			<url>http://app.supwisdom.com:81/artifactory/libs-release-local</url>
+		</repository>
+		<snapshotRepository>
+			<id>ekingstar-snapshots</id>
+			<name>internal Snapshots</name>
+			<url>http://app.supwisdom.com:81/artifactory/libs-snapshot-local</url>
+		</snapshotRepository>
+		<downloadUrl>http://app.supwisdom.com:81/artifactory</downloadUrl>
+	</distributionManagement>
+
+
+	<dependencies>
+		<dependency>
+			<groupId>com.jfinal</groupId>
+			<artifactId>jfinal</artifactId>
+			<version>1.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.freemarker</groupId>
+			<artifactId>freemarker</artifactId>
+			<version>2.3.20</version>
+		</dependency>
+		<dependency>
+			<groupId>com.jfinal</groupId>
+			<artifactId>jetty-server</artifactId>
+			<version>8.1.8</version>
+		</dependency>
+		<dependency>
+			<groupId>log4j</groupId>
+			<artifactId>log4j</artifactId>
+			<version>1.2.16</version>
+		</dependency>
+	</dependencies>
+	<build>
+		<finalName>freemarker_demo</finalName>
+		<plugins>
+			<plugin>
+				<groupId>org.mortbay.jetty</groupId>
+				<artifactId>jetty-maven-plugin</artifactId>
+				<version>8.1.8.v20121106</version>
+				<configuration>
+					<stopKey>stop</stopKey>
+					<stopPort>5599</stopPort>
+					<webAppConfig>
+						<contextPath>/</contextPath>
+					</webAppConfig>
+					<scanIntervalSeconds>5</scanIntervalSeconds>
+					<connectors>
+						<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
+							<port>8080</port>
+							<maxIdleTime>60000</maxIdleTime>
+						</connector>
+					</connectors>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
 </project>
diff --git a/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultConfig.java b/freemarker-tutorial/src/main/java/com/supwisdom/tutorial/freemarker/DefaultConfig.java
similarity index 95%
rename from freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultConfig.java
rename to freemarker-tutorial/src/main/java/com/supwisdom/tutorial/freemarker/DefaultConfig.java
index fb43d17..d418e54 100644
--- a/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultConfig.java
+++ b/freemarker-tutorial/src/main/java/com/supwisdom/tutorial/freemarker/DefaultConfig.java
@@ -1,4 +1,4 @@
-package com.ekingstar.common;
+package com.supwisdom.tutorial.freemarker;
 
 import com.jfinal.config.Constants;
 import com.jfinal.config.Handlers;
diff --git a/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultController.java b/freemarker-tutorial/src/main/java/com/supwisdom/tutorial/freemarker/DefaultController.java
similarity index 80%
rename from freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultController.java
rename to freemarker-tutorial/src/main/java/com/supwisdom/tutorial/freemarker/DefaultController.java
index d63ad07..73753d7 100644
--- a/freemarker-tutorial/src/main/java/com/ekingstar/common/DefaultController.java
+++ b/freemarker-tutorial/src/main/java/com/supwisdom/tutorial/freemarker/DefaultController.java
@@ -1,4 +1,4 @@
-package com.ekingstar.common;
+package com.supwisdom.tutorial.freemarker;
 
 import com.jfinal.core.Controller;
 
diff --git a/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml b/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml
index 69687b6..50aa44f 100644
--- a/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml
+++ b/freemarker-tutorial/src/main/webapp/WEB-INF/web.xml
@@ -5,7 +5,7 @@
 		<filter-class>com.jfinal.core.JFinalFilter</filter-class>
 		<init-param>
 			<param-name>configClass</param-name>
-			<param-value>com.ekingstar.common.DefaultConfig</param-value>
+			<param-value>com.supwisdom.tutorial.freemarker.DefaultConfig</param-value>
 		</init-param>
 	</filter>
 	<filter-mapping>
diff --git a/jdbc-tutorial/pom.xml b/jdbc-tutorial/pom.xml
index 2a41757..ef9a4df 100644
--- a/jdbc-tutorial/pom.xml
+++ b/jdbc-tutorial/pom.xml
@@ -2,7 +2,7 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 
-	<groupId>com.supwisdom</groupId>
+	<groupId>com.supwisdom.tutorial</groupId>
 	<artifactId>jdbc-tutorial</artifactId>
 	<version>1.0-SNAPSHOT</version>
 	<packaging>jar</packaging>
@@ -14,6 +14,20 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 	</properties>
 
+	<distributionManagement>
+		<repository>
+			<id>ekingstar-releases</id>
+			<name>internal release</name>
+			<url>http://app.supwisdom.com:81/artifactory/libs-release-local</url>
+		</repository>
+		<snapshotRepository>
+			<id>ekingstar-snapshots</id>
+			<name>internal Snapshots</name>
+			<url>http://app.supwisdom.com:81/artifactory/libs-snapshot-local</url>
+		</snapshotRepository>
+		<downloadUrl>http://app.supwisdom.com:81/artifactory</downloadUrl>
+	</distributionManagement>
+
 	<dependencies>
 		<dependency>
 			<groupId>junit</groupId>
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/BatchUpdate.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/BatchUpdate.java
similarity index 96%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/BatchUpdate.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/BatchUpdate.java
index 8c9e106..e15487d 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/BatchUpdate.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/BatchUpdate.java
@@ -1,4 +1,4 @@
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 /*
  * Copyright 2003 Sun Microsystems, Inc.  ALL RIGHTS RESERVED.
@@ -6,7 +6,8 @@
  * http://developer.java.sun.com/berkeley_license.html.
  */
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class BatchUpdate {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateCoffees.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateCoffees.java
similarity index 91%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateCoffees.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateCoffees.java
index 2aa46c0..8d73ce4 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateCoffees.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateCoffees.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateCoffees {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateNewTable.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateNewTable.java
similarity index 98%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateNewTable.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateNewTable.java
index 114d1c8..d1e3d3b 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateNewTable.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateNewTable.java
@@ -3,11 +3,12 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
 import java.util.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateNewTable {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateNewType.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateNewType.java
similarity index 98%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateNewType.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateNewType.java
index 23b3746..9515442 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateNewType.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateNewType.java
@@ -3,11 +3,12 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
 import java.util.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateNewType {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateRef.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateRef.java
similarity index 96%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateRef.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateRef.java
index 45036cc..b7035de 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateRef.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateRef.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateRef {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateStores.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateStores.java
similarity index 92%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateStores.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateStores.java
index bd504a3..fd00334 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateStores.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateStores.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateStores {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateSuppliers.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateSuppliers.java
similarity index 91%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateSuppliers.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateSuppliers.java
index b5c15e3..49b73b7 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateSuppliers.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateSuppliers.java
@@ -3,11 +3,12 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.net.URL;
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateSuppliers {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateUDTs.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateUDTs.java
similarity index 93%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateUDTs.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateUDTs.java
index cdfdce7..16f5a4f 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/CreateUDTs.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/CreateUDTs.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class CreateUDTs {
   public static void main(String args[]) {
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/DataType.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/DataType.java
similarity index 95%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/DataType.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/DataType.java
index f795d56..5f8e0aa 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/DataType.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/DataType.java
@@ -3,7 +3,7 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 public class DataType {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/App.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/DbSettings.java
similarity index 78%
rename from jdbc-tutorial/src/main/java/com/supwisdom/App.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/DbSettings.java
index 6cc4735..1260758 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/App.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/DbSettings.java
@@ -1,7 +1,7 @@
-package com.supwisdom;
+package com.supwisdom.tutorial.jdbc;
 
 
-public class App {
+public class DbSettings {
   
   public static final String JDBC_DRIVER = "org.h2.Driver";
   public static final String JDBC_URL = "jdbc:h2:tcp://localhost/test";
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/ForeignKeysCoffees.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/ForeignKeysCoffees.java
similarity index 95%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/ForeignKeysCoffees.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/ForeignKeysCoffees.java
index 886bd00..3f49250 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/ForeignKeysCoffees.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/ForeignKeysCoffees.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class ForeignKeysCoffees {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/GetParamMetaData.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/GetParamMetaData.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/GetParamMetaData.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/GetParamMetaData.java
index 9db7100..403e182 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/GetParamMetaData.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/GetParamMetaData.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class GetParamMetaData {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertCoffees.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertCoffees.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertCoffees.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertCoffees.java
index b3735e4..87d7bfb 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertCoffees.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertCoffees.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class InsertCoffees {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertRow.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertRow.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertRow.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertRow.java
index 579075e..8b0a38a 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertRow.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertRow.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class InsertRow {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertRows.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertRows.java
similarity index 95%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertRows.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertRows.java
index 1d14c3a..4e65f8a 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertRows.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertRows.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class InsertRows {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertStores.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertStores.java
similarity index 97%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertStores.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertStores.java
index cd9d99f..c94355b 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertStores.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertStores.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class InsertStores {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertSuppliers.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertSuppliers.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertSuppliers.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertSuppliers.java
index 1c2eaaa..0cb6cb1 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/InsertSuppliers.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/InsertSuppliers.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class InsertSuppliers {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/Join.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/Join.java
similarity index 93%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/Join.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/Join.java
index 8fe63e6..9f23ab3 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/Join.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/Join.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class Join {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/OutputApplet.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/OutputApplet.java
similarity index 96%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/OutputApplet.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/OutputApplet.java
index d6a4d75..6f3f4b2 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/OutputApplet.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/OutputApplet.java
@@ -8,7 +8,7 @@
  * This is a demonstration JDBC applet.
  * It displays some simple standard output from the Coffee database.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.applet.Applet;
 import java.awt.Graphics;
@@ -19,7 +19,8 @@
 import java.sql.Statement;
 import java.util.Enumeration;
 import java.util.Vector;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class OutputApplet extends Applet implements Runnable {
   private Thread worker;
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrimaryKeysSuppliers.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrimaryKeysSuppliers.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrimaryKeysSuppliers.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrimaryKeysSuppliers.java
index 12b2413..a052cc0 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrimaryKeysSuppliers.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrimaryKeysSuppliers.java
@@ -3,9 +3,10 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */ 
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 public class PrimaryKeysSuppliers  {
 
 	public static void main(String args[]) {
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrintColumnTypes.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrintColumnTypes.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrintColumnTypes.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrintColumnTypes.java
index 28a55c7..477cb2b 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrintColumnTypes.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrintColumnTypes.java
@@ -3,7 +3,7 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrintColumns.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrintColumns.java
similarity index 93%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrintColumns.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrintColumns.java
index bf54d47..61b156f 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/PrintColumns.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/PrintColumns.java
@@ -3,9 +3,10 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */ 
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 class PrintColumns  {
 
 	public static void main(String args[]) {
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/README b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/README
similarity index 100%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/README
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/README
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/RSMetaDataMethods.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/RSMetaDataMethods.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/RSMetaDataMethods.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/RSMetaDataMethods.java
index b276fa1..212a91a 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/RSMetaDataMethods.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/RSMetaDataMethods.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class RSMetaDataMethods {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/SQLStatement.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/SQLStatement.java
similarity index 93%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/SQLStatement.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/SQLStatement.java
index 7987cfc..cd3f631 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/SQLStatement.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/SQLStatement.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class SQLStatement {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/ScrollableResultSet.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/ScrollableResultSet.java
similarity index 96%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/ScrollableResultSet.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/ScrollableResultSet.java
index 8e4f60e..942d8ec 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/ScrollableResultSet.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/ScrollableResultSet.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class ScrollableResultSet {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/SetSavepoint.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/SetSavepoint.java
similarity index 96%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/SetSavepoint.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/SetSavepoint.java
index 861ea44..f6bf549 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/SetSavepoint.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/SetSavepoint.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class SetSavepoint {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TableTypes.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TableTypes.java
similarity index 92%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TableTypes.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TableTypes.java
index f6afacf..d9a3d22 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TableTypes.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TableTypes.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class TableTypes {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TransactionPairs.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TransactionPairs.java
similarity index 96%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TransactionPairs.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TransactionPairs.java
index 3631989..6bcba60 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TransactionPairs.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TransactionPairs.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class TransactionPairs {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TypeConcurrency.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TypeConcurrency.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TypeConcurrency.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TypeConcurrency.java
index 2c908d3..a226e06 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TypeConcurrency.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TypeConcurrency.java
@@ -3,10 +3,11 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class TypeConcurrency {
 
diff --git a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TypeInfo.java b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TypeInfo.java
similarity index 94%
rename from jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TypeInfo.java
rename to jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TypeInfo.java
index 1da79b7..9482904 100644
--- a/jdbc-tutorial/src/main/java/com/supwisdom/jdbc/TypeInfo.java
+++ b/jdbc-tutorial/src/main/java/com/supwisdom/tutorial/jdbc/TypeInfo.java
@@ -3,11 +3,12 @@
  * Use of this software is authorized pursuant to the terms of the license found at
  * http://developer.java.sun.com/berkeley_license.html.
  */
-package com.supwisdom.jdbc;
+package com.supwisdom.tutorial.jdbc;
 
 import java.net.URL;
 import java.sql.*;
-import static com.supwisdom.App.*;
+
+import static com.supwisdom.tutorial.jdbc.DbSettings.*;
 
 public class TypeInfo {
 
diff --git a/jdbc-tutorial/src/test/java/com/supwisdom/AppTest.java b/jdbc-tutorial/src/test/java/com/supwisdom/AppTest.java
deleted file mode 100644
index 3d41cae..0000000
--- a/jdbc-tutorial/src/test/java/com/supwisdom/AppTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.supwisdom;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * Unit test for simple App.
- */
-public class AppTest 
-    extends TestCase
-{
-    /**
-     * Create the test case
-     *
-     * @param testName name of the test case
-     */
-    public AppTest( String testName )
-    {
-        super( testName );
-    }
-
-    /**
-     * @return the suite of tests being tested
-     */
-    public static Test suite()
-    {
-        return new TestSuite( AppTest.class );
-    }
-
-    /**
-     * Rigourous Test :-)
-     */
-    public void testApp()
-    {
-        assertTrue( true );
-    }
-}
