diff --git a/README.md b/README.md
index 354b34a..1e260dc 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,6 @@
 # Apache Fineract CN Cassandra
 
-[![Join the chat at https://gitter.im/mifos-initiative/mifos.io](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mifos-initiative/mifos.io?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
-This project is an umbrella for all Apache Fineract CN Core components.
+This project provides helps for using Cassandra in Fineract CN services.
 
 ## Abstract
 Apache Fineract CN is an application framework for digital financial services, a system to support nationwide and cross-national financial transactions and help to level and speed the creation of an inclusive, interconnected digital economy for every nation in the world.
diff --git a/src/main/java/io/mifos/core/cassandra/config/CassandraConnectorConfiguration.java b/src/main/java/org/apache/fineract/cn/cassandra/config/CassandraConnectorConfiguration.java
similarity index 87%
rename from src/main/java/io/mifos/core/cassandra/config/CassandraConnectorConfiguration.java
rename to src/main/java/org/apache/fineract/cn/cassandra/config/CassandraConnectorConfiguration.java
index f5f7b0f..50b878d 100644
--- a/src/main/java/io/mifos/core/cassandra/config/CassandraConnectorConfiguration.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/config/CassandraConnectorConfiguration.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.config;
+package org.apache.fineract.cn.cassandra.config;
 
-import io.mifos.core.cassandra.core.CassandraJourneyFactory;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
-import io.mifos.core.cassandra.util.CassandraConnectorConstants;
-import io.mifos.core.lang.ApplicationName;
-import io.mifos.core.lang.config.EnableApplicationName;
+import org.apache.fineract.cn.cassandra.core.CassandraJourneyFactory;
+import org.apache.fineract.cn.cassandra.core.CassandraSessionProvider;
+import org.apache.fineract.cn.cassandra.core.TenantAwareCassandraMapperProvider;
+import org.apache.fineract.cn.cassandra.core.TenantAwareEntityTemplate;
+import org.apache.fineract.cn.cassandra.util.CassandraConnectorConstants;
+import org.apache.fineract.cn.lang.ApplicationName;
+import org.apache.fineract.cn.lang.config.EnableApplicationName;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/io/mifos/core/cassandra/config/EnableCassandra.java b/src/main/java/org/apache/fineract/cn/cassandra/config/EnableCassandra.java
similarity index 96%
rename from src/main/java/io/mifos/core/cassandra/config/EnableCassandra.java
rename to src/main/java/org/apache/fineract/cn/cassandra/config/EnableCassandra.java
index 08ebe36..84d145a 100644
--- a/src/main/java/io/mifos/core/cassandra/config/EnableCassandra.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/config/EnableCassandra.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.config;
+package org.apache.fineract.cn.cassandra.config;
 
 import org.springframework.context.annotation.Import;
 
diff --git a/src/main/java/io/mifos/core/cassandra/core/CassandraJourney.java b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourney.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/core/CassandraJourney.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourney.java
index 2523070..0c1f936 100644
--- a/src/main/java/io/mifos/core/cassandra/core/CassandraJourney.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourney.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.KeyspaceMetadata;
@@ -27,7 +27,7 @@
 import com.datastax.driver.core.TableMetadata;
 import com.datastax.driver.core.querybuilder.QueryBuilder;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import io.mifos.core.lang.ApplicationName;
+import org.apache.fineract.cn.lang.ApplicationName;
 import org.slf4j.Logger;
 
 import java.util.Objects;
diff --git a/src/main/java/io/mifos/core/cassandra/core/CassandraJourneyFactory.java b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyFactory.java
similarity index 93%
rename from src/main/java/io/mifos/core/cassandra/core/CassandraJourneyFactory.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyFactory.java
index 9f9de50..f48399d 100644
--- a/src/main/java/io/mifos/core/cassandra/core/CassandraJourneyFactory.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyFactory.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
-import io.mifos.core.lang.ApplicationName;
+import org.apache.fineract.cn.lang.ApplicationName;
 import org.slf4j.Logger;
 
 @SuppressWarnings("unused")
diff --git a/src/main/java/io/mifos/core/cassandra/core/CassandraJourneyRoute.java b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyRoute.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/core/CassandraJourneyRoute.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyRoute.java
index 3e7ab20..dd73277 100644
--- a/src/main/java/io/mifos/core/cassandra/core/CassandraJourneyRoute.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyRoute.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import org.springframework.util.Assert;
 
diff --git a/src/main/java/io/mifos/core/cassandra/core/CassandraJourneyWaypoint.java b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyWaypoint.java
similarity index 95%
rename from src/main/java/io/mifos/core/cassandra/core/CassandraJourneyWaypoint.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyWaypoint.java
index 7790f27..7d87e16 100644
--- a/src/main/java/io/mifos/core/cassandra/core/CassandraJourneyWaypoint.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraJourneyWaypoint.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 @SuppressWarnings("WeakerAccess")
 public class CassandraJourneyWaypoint {
diff --git a/src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraSessionProvider.java
similarity index 94%
rename from src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/CassandraSessionProvider.java
index 047ca62..9ba64dc 100644
--- a/src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/CassandraSessionProvider.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import com.datastax.driver.core.AuthProvider;
 import com.datastax.driver.core.Cluster;
@@ -25,13 +25,13 @@
 import com.datastax.driver.core.exceptions.InvalidQueryException;
 import com.datastax.driver.mapping.Mapper;
 import com.datastax.driver.mapping.MappingManager;
-import io.mifos.core.cassandra.domain.Tenant;
-import io.mifos.core.cassandra.util.CassandraConnectorConstants;
-import io.mifos.core.cassandra.util.CodecRegistry;
-import io.mifos.core.cassandra.util.ContactPointUtils;
-import io.mifos.core.cassandra.util.LocalDateTimeCodec;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.core.lang.TenantContextHolder;
+import org.apache.fineract.cn.cassandra.domain.Tenant;
+import org.apache.fineract.cn.cassandra.util.CassandraConnectorConstants;
+import org.apache.fineract.cn.cassandra.util.CodecRegistry;
+import org.apache.fineract.cn.cassandra.util.ContactPointUtils;
+import org.apache.fineract.cn.cassandra.util.LocalDateTimeCodec;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.apache.fineract.cn.lang.TenantContextHolder;
 import org.slf4j.Logger;
 import org.springframework.core.env.Environment;
 import org.springframework.util.Assert;
diff --git a/src/main/java/io/mifos/core/cassandra/core/KeyspaceDoesntExistYet.java b/src/main/java/org/apache/fineract/cn/cassandra/core/KeyspaceDoesntExistYet.java
similarity index 95%
rename from src/main/java/io/mifos/core/cassandra/core/KeyspaceDoesntExistYet.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/KeyspaceDoesntExistYet.java
index 55eb9c2..55d3a54 100644
--- a/src/main/java/io/mifos/core/cassandra/core/KeyspaceDoesntExistYet.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/KeyspaceDoesntExistYet.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import com.datastax.driver.core.exceptions.InvalidQueryException;
 
diff --git a/src/main/java/io/mifos/core/cassandra/core/OptionProvider.java b/src/main/java/org/apache/fineract/cn/cassandra/core/OptionProvider.java
similarity index 96%
rename from src/main/java/io/mifos/core/cassandra/core/OptionProvider.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/OptionProvider.java
index 8a11d2c..a03d898 100644
--- a/src/main/java/io/mifos/core/cassandra/core/OptionProvider.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/OptionProvider.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import com.datastax.driver.core.ConsistencyLevel;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.util.CassandraConnectorConstants;
+import org.apache.fineract.cn.cassandra.util.CassandraConnectorConstants;
 import org.springframework.core.env.Environment;
 import org.springframework.util.Assert;
 
diff --git a/src/main/java/io/mifos/core/cassandra/core/ReplicationStrategyResolver.java b/src/main/java/org/apache/fineract/cn/cassandra/core/ReplicationStrategyResolver.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/core/ReplicationStrategyResolver.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/ReplicationStrategyResolver.java
index aa54be6..0641d49 100644
--- a/src/main/java/io/mifos/core/cassandra/core/ReplicationStrategyResolver.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/ReplicationStrategyResolver.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 @SuppressWarnings("WeakerAccess")
 public class ReplicationStrategyResolver {
diff --git a/src/main/java/io/mifos/core/cassandra/core/TenantAwareCassandraMapperProvider.java b/src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareCassandraMapperProvider.java
similarity index 96%
rename from src/main/java/io/mifos/core/cassandra/core/TenantAwareCassandraMapperProvider.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareCassandraMapperProvider.java
index f7d34fb..28fe944 100644
--- a/src/main/java/io/mifos/core/cassandra/core/TenantAwareCassandraMapperProvider.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareCassandraMapperProvider.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import com.datastax.driver.core.Session;
 import com.datastax.driver.mapping.Mapper;
 import com.datastax.driver.mapping.MappingManager;
-import io.mifos.core.lang.TenantContextHolder;
+import org.apache.fineract.cn.lang.TenantContextHolder;
 import org.slf4j.Logger;
 import org.springframework.core.env.Environment;
 import org.springframework.util.Assert;
diff --git a/src/main/java/io/mifos/core/cassandra/core/TenantAwareEntityTemplate.java b/src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareEntityTemplate.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/core/TenantAwareEntityTemplate.java
rename to src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareEntityTemplate.java
index e50285c..2e163a9 100644
--- a/src/main/java/io/mifos/core/cassandra/core/TenantAwareEntityTemplate.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareEntityTemplate.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Statement;
diff --git a/src/main/java/io/mifos/core/cassandra/domain/Tenant.java b/src/main/java/org/apache/fineract/cn/cassandra/domain/Tenant.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/domain/Tenant.java
rename to src/main/java/org/apache/fineract/cn/cassandra/domain/Tenant.java
index 1770769..3e9c4a3 100644
--- a/src/main/java/io/mifos/core/cassandra/domain/Tenant.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/domain/Tenant.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.domain;
+package org.apache.fineract.cn.cassandra.domain;
 
 import com.datastax.driver.mapping.annotations.Column;
 import com.datastax.driver.mapping.annotations.PartitionKey;
diff --git a/src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java b/src/main/java/org/apache/fineract/cn/cassandra/util/CassandraConnectorConstants.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java
rename to src/main/java/org/apache/fineract/cn/cassandra/util/CassandraConnectorConstants.java
index 02a8a62..3e9e48a 100644
--- a/src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/util/CassandraConnectorConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.util;
+package org.apache.fineract.cn.cassandra.util;
 
 public interface CassandraConnectorConstants {
 
diff --git a/src/main/java/io/mifos/core/cassandra/util/CodecRegistry.java b/src/main/java/org/apache/fineract/cn/cassandra/util/CodecRegistry.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/util/CodecRegistry.java
rename to src/main/java/org/apache/fineract/cn/cassandra/util/CodecRegistry.java
index f023f99..d94a46a 100644
--- a/src/main/java/io/mifos/core/cassandra/util/CodecRegistry.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/util/CodecRegistry.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.util;
+package org.apache.fineract.cn.cassandra.util;
 
 import com.datastax.driver.core.Cluster;
 import com.datastax.driver.core.TypeCodec;
diff --git a/src/main/java/io/mifos/core/cassandra/util/ContactPointUtils.java b/src/main/java/org/apache/fineract/cn/cassandra/util/ContactPointUtils.java
similarity index 97%
rename from src/main/java/io/mifos/core/cassandra/util/ContactPointUtils.java
rename to src/main/java/org/apache/fineract/cn/cassandra/util/ContactPointUtils.java
index 4e11fe2..d9ff0d7 100644
--- a/src/main/java/io/mifos/core/cassandra/util/ContactPointUtils.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/util/ContactPointUtils.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.util;
+package org.apache.fineract.cn.cassandra.util;
 
 import com.datastax.driver.core.Cluster;
 
diff --git a/src/main/java/io/mifos/core/cassandra/util/LocalDateTimeCodec.java b/src/main/java/org/apache/fineract/cn/cassandra/util/LocalDateTimeCodec.java
similarity index 95%
rename from src/main/java/io/mifos/core/cassandra/util/LocalDateTimeCodec.java
rename to src/main/java/org/apache/fineract/cn/cassandra/util/LocalDateTimeCodec.java
index 76951c7..44c38f9 100644
--- a/src/main/java/io/mifos/core/cassandra/util/LocalDateTimeCodec.java
+++ b/src/main/java/org/apache/fineract/cn/cassandra/util/LocalDateTimeCodec.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.util;
+package org.apache.fineract.cn.cassandra.util;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.ParseUtils;
 import com.datastax.driver.core.ProtocolVersion;
 import com.datastax.driver.core.TypeCodec;
 import com.datastax.driver.core.exceptions.InvalidTypeException;
-import io.mifos.core.lang.DateConverter;
 
 import java.nio.ByteBuffer;
 import java.time.LocalDateTime;
+import org.apache.fineract.cn.lang.DateConverter;
 
 public class LocalDateTimeCodec extends TypeCodec<LocalDateTime> {
 
diff --git a/src/test/java/io/mifos/core/cassandra/core/OptionProviderTest.java b/src/test/java/org/apache/fineract/cn/cassandra/core/OptionProviderTest.java
similarity index 95%
rename from src/test/java/io/mifos/core/cassandra/core/OptionProviderTest.java
rename to src/test/java/org/apache/fineract/cn/cassandra/core/OptionProviderTest.java
index 3492f0d..6bbff35 100644
--- a/src/test/java/io/mifos/core/cassandra/core/OptionProviderTest.java
+++ b/src/test/java/org/apache/fineract/cn/cassandra/core/OptionProviderTest.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
-import io.mifos.core.cassandra.util.CassandraConnectorConstants;
+import org.apache.fineract.cn.cassandra.util.CassandraConnectorConstants;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
diff --git a/src/test/java/io/mifos/core/cassandra/core/ReplicationStrategyResolverTest.java b/src/test/java/org/apache/fineract/cn/cassandra/core/ReplicationStrategyResolverTest.java
similarity index 97%
rename from src/test/java/io/mifos/core/cassandra/core/ReplicationStrategyResolverTest.java
rename to src/test/java/org/apache/fineract/cn/cassandra/core/ReplicationStrategyResolverTest.java
index 7268e7a..3e28981 100644
--- a/src/test/java/io/mifos/core/cassandra/core/ReplicationStrategyResolverTest.java
+++ b/src/test/java/org/apache/fineract/cn/cassandra/core/ReplicationStrategyResolverTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.core;
+package org.apache.fineract.cn.cassandra.core;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/io/mifos/core/cassandra/util/ContactPointUtilsTest.java b/src/test/java/org/apache/fineract/cn/cassandra/util/ContactPointUtilsTest.java
similarity index 97%
rename from src/test/java/io/mifos/core/cassandra/util/ContactPointUtilsTest.java
rename to src/test/java/org/apache/fineract/cn/cassandra/util/ContactPointUtilsTest.java
index ed1a79a..0292bbd 100644
--- a/src/test/java/io/mifos/core/cassandra/util/ContactPointUtilsTest.java
+++ b/src/test/java/org/apache/fineract/cn/cassandra/util/ContactPointUtilsTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.core.cassandra.util;
+package org.apache.fineract.cn.cassandra.util;
 
 import com.datastax.driver.core.Cluster;
 import org.junit.Assert;
