diff --git a/pom.xml b/pom.xml
index 4816f46d2..d0f9f9fd8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,7 @@
intercepting-filter
poison-pill
lazy-loading
- dao
+ service-layer
diff --git a/dao/pom.xml b/service-layer/bin/pom.xml
similarity index 100%
rename from dao/pom.xml
rename to service-layer/bin/pom.xml
diff --git a/service-layer/pom.xml b/service-layer/pom.xml
new file mode 100644
index 000000000..34f265167
--- /dev/null
+++ b/service-layer/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.iluwatar
+ java-design-patterns
+ 1.0-SNAPSHOT
+
+ service-layer
+
+
+ org.hibernate
+ hibernate-core
+
+
+ com.h2database
+ h2
+
+
+ junit
+ junit
+ test
+
+
+
diff --git a/dao/src/main/java/com/iluwatar/App.java b/service-layer/src/main/java/com/iluwatar/App.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/App.java
rename to service-layer/src/main/java/com/iluwatar/App.java
diff --git a/dao/src/main/java/com/iluwatar/BaseEntity.java b/service-layer/src/main/java/com/iluwatar/BaseEntity.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/BaseEntity.java
rename to service-layer/src/main/java/com/iluwatar/BaseEntity.java
diff --git a/dao/src/main/java/com/iluwatar/Dao.java b/service-layer/src/main/java/com/iluwatar/Dao.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/Dao.java
rename to service-layer/src/main/java/com/iluwatar/Dao.java
diff --git a/dao/src/main/java/com/iluwatar/DaoBaseImpl.java b/service-layer/src/main/java/com/iluwatar/DaoBaseImpl.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/DaoBaseImpl.java
rename to service-layer/src/main/java/com/iluwatar/DaoBaseImpl.java
diff --git a/dao/src/main/java/com/iluwatar/HibernateUtil.java b/service-layer/src/main/java/com/iluwatar/HibernateUtil.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/HibernateUtil.java
rename to service-layer/src/main/java/com/iluwatar/HibernateUtil.java
diff --git a/dao/src/main/java/com/iluwatar/MagicService.java b/service-layer/src/main/java/com/iluwatar/MagicService.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/MagicService.java
rename to service-layer/src/main/java/com/iluwatar/MagicService.java
diff --git a/dao/src/main/java/com/iluwatar/MagicServiceImpl.java b/service-layer/src/main/java/com/iluwatar/MagicServiceImpl.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/MagicServiceImpl.java
rename to service-layer/src/main/java/com/iluwatar/MagicServiceImpl.java
diff --git a/dao/src/main/java/com/iluwatar/Spell.java b/service-layer/src/main/java/com/iluwatar/Spell.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/Spell.java
rename to service-layer/src/main/java/com/iluwatar/Spell.java
diff --git a/dao/src/main/java/com/iluwatar/SpellDao.java b/service-layer/src/main/java/com/iluwatar/SpellDao.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/SpellDao.java
rename to service-layer/src/main/java/com/iluwatar/SpellDao.java
diff --git a/dao/src/main/java/com/iluwatar/SpellDaoImpl.java b/service-layer/src/main/java/com/iluwatar/SpellDaoImpl.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/SpellDaoImpl.java
rename to service-layer/src/main/java/com/iluwatar/SpellDaoImpl.java
diff --git a/dao/src/main/java/com/iluwatar/Spellbook.java b/service-layer/src/main/java/com/iluwatar/Spellbook.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/Spellbook.java
rename to service-layer/src/main/java/com/iluwatar/Spellbook.java
diff --git a/dao/src/main/java/com/iluwatar/SpellbookDao.java b/service-layer/src/main/java/com/iluwatar/SpellbookDao.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/SpellbookDao.java
rename to service-layer/src/main/java/com/iluwatar/SpellbookDao.java
diff --git a/dao/src/main/java/com/iluwatar/SpellbookDaoImpl.java b/service-layer/src/main/java/com/iluwatar/SpellbookDaoImpl.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/SpellbookDaoImpl.java
rename to service-layer/src/main/java/com/iluwatar/SpellbookDaoImpl.java
diff --git a/dao/src/main/java/com/iluwatar/Wizard.java b/service-layer/src/main/java/com/iluwatar/Wizard.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/Wizard.java
rename to service-layer/src/main/java/com/iluwatar/Wizard.java
diff --git a/dao/src/main/java/com/iluwatar/WizardDao.java b/service-layer/src/main/java/com/iluwatar/WizardDao.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/WizardDao.java
rename to service-layer/src/main/java/com/iluwatar/WizardDao.java
diff --git a/dao/src/main/java/com/iluwatar/WizardDaoImpl.java b/service-layer/src/main/java/com/iluwatar/WizardDaoImpl.java
similarity index 100%
rename from dao/src/main/java/com/iluwatar/WizardDaoImpl.java
rename to service-layer/src/main/java/com/iluwatar/WizardDaoImpl.java
diff --git a/dao/src/test/java/com/iluwatar/AppTest.java b/service-layer/src/test/java/com/iluwatar/AppTest.java
similarity index 100%
rename from dao/src/test/java/com/iluwatar/AppTest.java
rename to service-layer/src/test/java/com/iluwatar/AppTest.java