Merge pull request #4 from myrle-krantz/develop

Updating package names.
diff --git a/README.md b/README.md
index 0d6602f..45828fb 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,6 @@
 # Apache Fineract CN Identity Manager
 
-[![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 provides identity management for mifos I/O microservices.
+This project provides identity management for Apache 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/api/src/main/java/io/mifos/identity/api/v1/PermittableGroupIds.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/PermittableGroupIds.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/PermittableGroupIds.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/PermittableGroupIds.java
index bfdc40b..ed74e02 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/PermittableGroupIds.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/PermittableGroupIds.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1;
+package org.apache.fineract.cn.identity.api.v1;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/client/ApplicationPermissionAlreadyExistsException.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/ApplicationPermissionAlreadyExistsException.java
similarity index 94%
rename from api/src/main/java/io/mifos/identity/api/v1/client/ApplicationPermissionAlreadyExistsException.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/ApplicationPermissionAlreadyExistsException.java
index 87e5a25..1374d4b 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/client/ApplicationPermissionAlreadyExistsException.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/ApplicationPermissionAlreadyExistsException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.client;
+package org.apache.fineract.cn.identity.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/client/CallEndpointSetAlreadyExistsException.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/CallEndpointSetAlreadyExistsException.java
similarity index 94%
rename from api/src/main/java/io/mifos/identity/api/v1/client/CallEndpointSetAlreadyExistsException.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/CallEndpointSetAlreadyExistsException.java
index c5ffb3d..a8502e6 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/client/CallEndpointSetAlreadyExistsException.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/CallEndpointSetAlreadyExistsException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.client;
+package org.apache.fineract.cn.identity.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/client/IdentityManager.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/IdentityManager.java
similarity index 90%
rename from api/src/main/java/io/mifos/identity/api/v1/client/IdentityManager.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/IdentityManager.java
index 5e82889..a41a41e 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/client/IdentityManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/IdentityManager.java
@@ -16,22 +16,34 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.client;
+package org.apache.fineract.cn.identity.api.v1.client;
 
-import io.mifos.anubis.api.v1.client.Anubis;
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.anubis.api.v1.validation.ValidKeyTimestamp;
-import io.mifos.core.api.annotation.ThrowsException;
-import io.mifos.core.api.util.CustomFeignClientsConfiguration;
-import io.mifos.identity.api.v1.domain.*;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
+import org.apache.fineract.cn.identity.api.v1.domain.Password;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.domain.RoleIdentifier;
+import org.apache.fineract.cn.identity.api.v1.domain.User;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
+import java.util.List;
+import java.util.Set;
+import org.apache.fineract.cn.anubis.api.v1.client.Anubis;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.api.v1.validation.ValidKeyTimestamp;
+import org.apache.fineract.cn.api.annotation.ThrowsException;
+import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
 import org.springframework.cloud.netflix.feign.FeignClient;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.Set;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/client/PermittableGroupAlreadyExistsException.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/PermittableGroupAlreadyExistsException.java
similarity index 94%
rename from api/src/main/java/io/mifos/identity/api/v1/client/PermittableGroupAlreadyExistsException.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/PermittableGroupAlreadyExistsException.java
index 075807d..0dab69a 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/client/PermittableGroupAlreadyExistsException.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/PermittableGroupAlreadyExistsException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.client;
+package org.apache.fineract.cn.identity.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/client/TenantNotSetException.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/TenantNotSetException.java
similarity index 94%
rename from api/src/main/java/io/mifos/identity/api/v1/client/TenantNotSetException.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/TenantNotSetException.java
index b4454f7..07d6912 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/client/TenantNotSetException.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/TenantNotSetException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.client;
+package org.apache.fineract.cn.identity.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/client/UserAlreadyExistsException.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/UserAlreadyExistsException.java
similarity index 94%
rename from api/src/main/java/io/mifos/identity/api/v1/client/UserAlreadyExistsException.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/UserAlreadyExistsException.java
index 998dc8d..12470b7 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/client/UserAlreadyExistsException.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/client/UserAlreadyExistsException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.client;
+package org.apache.fineract.cn.identity.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/Authentication.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Authentication.java
similarity index 97%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/Authentication.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Authentication.java
index fab892a..b06c54b 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/Authentication.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Authentication.java
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
 import org.hibernate.validator.constraints.NotBlank;
 
 import javax.annotation.Nullable;
-import javax.validation.constraints.Null;
 import java.util.Objects;
 
 /**
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/CallEndpointSet.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/CallEndpointSet.java
similarity index 94%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/CallEndpointSet.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/CallEndpointSet.java
index 6596436..89020f7 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/CallEndpointSet.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/CallEndpointSet.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
 
 import javax.validation.constraints.NotNull;
 import java.util.List;
 import java.util.Objects;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/Password.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Password.java
similarity index 96%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/Password.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Password.java
index 9e6ee1a..61209f0 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/Password.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Password.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.NotBlank;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/Permission.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Permission.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/Permission.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Permission.java
index 1e41fdf..2d586e0 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/Permission.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Permission.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import org.hibernate.validator.constraints.NotBlank;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.util.Objects;
 import java.util.Set;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.hibernate.validator.constraints.NotBlank;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/PermittableGroup.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/PermittableGroup.java
similarity index 91%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/PermittableGroup.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/PermittableGroup.java
index fea7382..c58ea68 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/PermittableGroup.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/PermittableGroup.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.anubis.api.v1.domain.PermittableEndpoint;
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.util.List;
 import java.util.Objects;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.anubis.api.v1.domain.PermittableEndpoint;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/Role.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Role.java
similarity index 91%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/Role.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Role.java
index a0f9488..dc48270 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/Role.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/Role.java
@@ -16,11 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import io.mifos.identity.api.v1.validation.ChangeableRole;
-import org.hibernate.validator.constraints.ScriptAssert;
+import org.apache.fineract.cn.identity.api.v1.validation.ChangeableRole;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
 import org.springframework.util.Assert;
 
 import javax.annotation.Nonnull;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/RoleIdentifier.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/RoleIdentifier.java
similarity index 93%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/RoleIdentifier.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/RoleIdentifier.java
index 86d4b39..e91549d 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/RoleIdentifier.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/RoleIdentifier.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.identity.api.v1.validation.NotRootRole;
+import org.apache.fineract.cn.identity.api.v1.validation.NotRootRole;
 import org.hibernate.validator.constraints.NotBlank;
 
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/User.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/User.java
similarity index 97%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/User.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/User.java
index 88cd2bd..3d40ec2 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/User.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/User.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.NotBlank;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/domain/UserWithPassword.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/UserWithPassword.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/domain/UserWithPassword.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/UserWithPassword.java
index 5205d32..98ce805 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/domain/UserWithPassword.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/domain/UserWithPassword.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.NotBlank;
 import org.hibernate.validator.constraints.ScriptAssert;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationCallEndpointSetEvent.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationCallEndpointSetEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/identity/api/v1/events/ApplicationCallEndpointSetEvent.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationCallEndpointSetEvent.java
index 558bf27..00abe5b 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationCallEndpointSetEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationCallEndpointSetEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.events;
+package org.apache.fineract.cn.identity.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationPermissionEvent.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationPermissionEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/identity/api/v1/events/ApplicationPermissionEvent.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationPermissionEvent.java
index bbe7be2..5922d91 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationPermissionEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationPermissionEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.events;
+package org.apache.fineract.cn.identity.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationPermissionUserEvent.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationPermissionUserEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/identity/api/v1/events/ApplicationPermissionUserEvent.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationPermissionUserEvent.java
index 78acf43..379cd3c 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationPermissionUserEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationPermissionUserEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.events;
+package org.apache.fineract.cn.identity.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationSignatureEvent.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationSignatureEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/identity/api/v1/events/ApplicationSignatureEvent.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationSignatureEvent.java
index 2ede75f..edc8aba 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/events/ApplicationSignatureEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/ApplicationSignatureEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.events;
+package org.apache.fineract.cn.identity.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/identity/api/v1/events/EventConstants.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/EventConstants.java
similarity index 98%
rename from api/src/main/java/io/mifos/identity/api/v1/events/EventConstants.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/EventConstants.java
index 737a475..d009ce0 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/events/EventConstants.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/events/EventConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.events;
+package org.apache.fineract.cn.identity.api.v1.events;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/identity/api/v1/validation/ChangeableRole.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/ChangeableRole.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/validation/ChangeableRole.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/ChangeableRole.java
index 47e2b96..af0e0db 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/validation/ChangeableRole.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/ChangeableRole.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.validation;
+package org.apache.fineract.cn.identity.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/validation/CheckNotRootRole.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/CheckNotRootRole.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/validation/CheckNotRootRole.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/CheckNotRootRole.java
index 623d43d..4071ca3 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/validation/CheckNotRootRole.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/CheckNotRootRole.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.validation;
+package org.apache.fineract.cn.identity.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/validation/CheckRoleChangeable.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/CheckRoleChangeable.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/validation/CheckRoleChangeable.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/CheckRoleChangeable.java
index 29bd8f7..972776b 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/validation/CheckRoleChangeable.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/CheckRoleChangeable.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.validation;
+package org.apache.fineract.cn.identity.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/identity/api/v1/validation/NotRootRole.java b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/NotRootRole.java
similarity index 95%
rename from api/src/main/java/io/mifos/identity/api/v1/validation/NotRootRole.java
rename to api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/NotRootRole.java
index 52f8a39..92e6aea 100644
--- a/api/src/main/java/io/mifos/identity/api/v1/validation/NotRootRole.java
+++ b/api/src/main/java/org/apache/fineract/cn/identity/api/v1/validation/NotRootRole.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.validation;
+package org.apache.fineract.cn.identity.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/test/java/io/mifos/identity/api/v1/domain/CallEndpointSetTest.java b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/CallEndpointSetTest.java
similarity index 91%
rename from api/src/test/java/io/mifos/identity/api/v1/domain/CallEndpointSetTest.java
rename to api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/CallEndpointSetTest.java
index 91f405d..ddf8c28 100644
--- a/api/src/test/java/io/mifos/identity/api/v1/domain/CallEndpointSetTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/CallEndpointSetTest.java
@@ -16,16 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/identity/v1/domain/PasswordTest.java b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/PasswordTest.java
similarity index 93%
rename from api/src/test/java/io/mifos/identity/v1/domain/PasswordTest.java
rename to api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/PasswordTest.java
index 4900acb..3dee7a2 100644
--- a/api/src/test/java/io/mifos/identity/v1/domain/PasswordTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/PasswordTest.java
@@ -16,18 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.identity.api.v1.domain.Password;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.ArrayList;
-import java.util.Collection;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/api/src/test/java/io/mifos/identity/v1/domain/RoleIdentifierTest.java b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/RoleIdentifierTest.java
similarity index 93%
rename from api/src/test/java/io/mifos/identity/v1/domain/RoleIdentifierTest.java
rename to api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/RoleIdentifierTest.java
index bea62eb..14b13f0 100644
--- a/api/src/test/java/io/mifos/identity/v1/domain/RoleIdentifierTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/RoleIdentifierTest.java
@@ -16,18 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.identity.api.v1.domain.RoleIdentifier;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.ArrayList;
-import java.util.Collection;
-
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/identity/v1/domain/RoleTest.java b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/RoleTest.java
similarity index 90%
rename from api/src/test/java/io/mifos/identity/v1/domain/RoleTest.java
rename to api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/RoleTest.java
index 2f1a374..3cf9135 100644
--- a/api/src/test/java/io/mifos/identity/v1/domain/RoleTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/RoleTest.java
@@ -16,17 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.identity.api.v1.domain.Role;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/identity/v1/domain/UserWithPasswordTest.java b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/UserWithPasswordTest.java
similarity index 92%
rename from api/src/test/java/io/mifos/identity/v1/domain/UserWithPasswordTest.java
rename to api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/UserWithPasswordTest.java
index 41d7d26..9c868f3 100644
--- a/api/src/test/java/io/mifos/identity/v1/domain/UserWithPasswordTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/identity/api/v1/domain/UserWithPasswordTest.java
@@ -16,19 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.v1.domain;
+package org.apache.fineract.cn.identity.api.v1.domain;
 
-import io.mifos.core.api.util.ApiConstants;
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.identity.api.v1.domain.UserWithPassword;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.apache.fineract.cn.api.util.ApiConstants;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
-import java.util.ArrayList;
-import java.util.Collection;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/component-test/src/main/java/AbstractComponentTest.java b/component-test/src/main/java/AbstractComponentTest.java
index eade908..aeb6b08 100644
--- a/component-test/src/main/java/AbstractComponentTest.java
+++ b/component-test/src/main/java/AbstractComponentTest.java
@@ -16,27 +16,33 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
-import io.mifos.core.api.config.EnableApiFactory;
-import io.mifos.core.api.context.AutoGuest;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.ApiFactory;
-import io.mifos.core.api.util.UserContextHolder;
-import io.mifos.core.lang.security.RsaKeyPairFactory;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.core.test.fixture.TenantDataStoreContextTestRule;
-import io.mifos.core.test.listener.EnableEventRecording;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.client.IdentityManager;
-import io.mifos.identity.api.v1.domain.*;
-import io.mifos.identity.api.v1.events.ApplicationPermissionEvent;
-import io.mifos.identity.api.v1.events.ApplicationSignatureEvent;
-import io.mifos.identity.api.v1.events.EventConstants;
-import io.mifos.identity.config.IdentityServiceConfig;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.client.IdentityManager;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.Password;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationSignatureEvent;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import java.util.Arrays;
+import javax.annotation.PostConstruct;
 import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
+import org.apache.fineract.cn.api.config.EnableApiFactory;
+import org.apache.fineract.cn.api.context.AutoGuest;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.ApiFactory;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+import org.apache.fineract.cn.identity.config.IdentityServiceConfig;
+import org.apache.fineract.cn.lang.security.RsaKeyPairFactory;
+import org.apache.fineract.cn.test.env.TestEnvironment;
+import org.apache.fineract.cn.test.fixture.TenantDataStoreContextTestRule;
+import org.apache.fineract.cn.test.listener.EnableEventRecording;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.ClassRule;
@@ -49,9 +55,6 @@
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import javax.annotation.PostConstruct;
-import java.util.Arrays;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/component-test/src/main/java/SuiteTestEnvironment.java b/component-test/src/main/java/SuiteTestEnvironment.java
index 38ffb40..a1abcab 100644
--- a/component-test/src/main/java/SuiteTestEnvironment.java
+++ b/component-test/src/main/java/SuiteTestEnvironment.java
@@ -16,8 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.core.test.fixture.cassandra.CassandraInitializer;
+import org.apache.fineract.cn.test.env.TestEnvironment;
+import org.apache.fineract.cn.test.fixture.cassandra.CassandraInitializer;
 import org.junit.ClassRule;
 import org.junit.rules.RuleChain;
 import org.junit.rules.RunExternalResourceOnce;
diff --git a/component-test/src/main/java/TestApplications.java b/component-test/src/main/java/TestApplications.java
index 96eda9d..524b17d 100644
--- a/component-test/src/main/java/TestApplications.java
+++ b/component-test/src/main/java/TestApplications.java
@@ -16,21 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.anubis.token.TenantRefreshTokenSerializer;
-import io.mifos.anubis.token.TokenSerializationResult;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.Authentication;
-import io.mifos.identity.api.v1.domain.CallEndpointSet;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.api.v1.domain.User;
-import io.mifos.identity.api.v1.events.ApplicationCallEndpointSetEvent;
-import io.mifos.identity.api.v1.events.ApplicationPermissionEvent;
-import io.mifos.identity.api.v1.events.ApplicationPermissionUserEvent;
-import io.mifos.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.User;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationCallEndpointSetEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionUserEvent;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
 import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.anubis.token.TenantRefreshTokenSerializer;
+import org.apache.fineract.cn.anubis.token.TokenSerializationResult;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.NotFoundException;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/TestAuthentication.java b/component-test/src/main/java/TestAuthentication.java
index fc6c3d5..05a6875 100644
--- a/component-test/src/main/java/TestAuthentication.java
+++ b/component-test/src/main/java/TestAuthentication.java
@@ -16,25 +16,40 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+import static org.apache.fineract.cn.identity.api.v1.events.EventConstants.OPERATION_POST_PERMITTABLE_GROUP;
+import static org.apache.fineract.cn.identity.api.v1.events.EventConstants.OPERATION_POST_ROLE;
+import static org.apache.fineract.cn.identity.api.v1.events.EventConstants.OPERATION_POST_USER;
+import static org.apache.fineract.cn.identity.api.v1.events.EventConstants.OPERATION_PUT_USER_PASSWORD;
+
 import com.google.common.collect.Sets;
-import io.mifos.anubis.api.v1.client.Anubis;
-import io.mifos.anubis.api.v1.domain.*;
-import io.mifos.anubis.test.v1.SystemSecurityEnvironment;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.InvalidTokenException;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.lang.AutoTenantContext;
-import io.mifos.core.lang.security.RsaPublicKeyBuilder;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.identity.api.v1.domain.*;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.Password;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
+import java.security.PublicKey;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import org.apache.fineract.cn.anubis.api.v1.client.Anubis;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.anubis.api.v1.domain.PermittableEndpoint;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.api.v1.domain.TokenContent;
+import org.apache.fineract.cn.anubis.api.v1.domain.TokenPermission;
+import org.apache.fineract.cn.anubis.test.v1.SystemSecurityEnvironment;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.InvalidTokenException;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.lang.AutoTenantContext;
+import org.apache.fineract.cn.lang.security.RsaPublicKeyBuilder;
+import org.apache.fineract.cn.test.env.TestEnvironment;
 import org.junit.Assert;
 import org.junit.Test;
 
-import java.security.PublicKey;
-import java.util.*;
-
-import static io.mifos.identity.api.v1.events.EventConstants.*;
-
 /**
  * @author Myrle Krantz
  */
@@ -137,7 +152,8 @@
       }
 
       final Authentication authentication = getTestSubject().login(user.getIdentifier(), user.getPassword());
-      final TokenContent tokenContent = SystemSecurityEnvironment.getTokenContent(authentication.getAccessToken(), getPublicKey());
+      final TokenContent tokenContent = SystemSecurityEnvironment
+          .getTokenContent(authentication.getAccessToken(), getPublicKey());
       final Set<TokenPermission> tokenPermissions = new HashSet<>(tokenContent.getTokenPermissions());
 
       final Set<TokenPermission> expectedTokenPermissions= new HashSet<>();
diff --git a/component-test/src/main/java/TestKeyRotation.java b/component-test/src/main/java/TestKeyRotation.java
index a1bffdc..e2f0935 100644
--- a/component-test/src/main/java/TestKeyRotation.java
+++ b/component-test/src/main/java/TestKeyRotation.java
@@ -16,20 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.client.Anubis;
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.core.api.context.AutoGuest;
-import io.mifos.core.api.context.AutoSeshat;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.identity.api.v1.domain.Authentication;
-import org.junit.Assert;
-import org.junit.Test;
-
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
+import org.apache.fineract.cn.anubis.api.v1.client.Anubis;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.api.context.AutoGuest;
+import org.apache.fineract.cn.api.context.AutoSeshat;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.test.env.TestEnvironment;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
@@ -82,7 +81,8 @@
 
       final Authentication adminAuthenticationOnSecondKeyset;
       try (final AutoUserContext ignored2 = new AutoGuest()) {
-        adminAuthenticationOnSecondKeyset = getTestSubject().login(ADMIN_IDENTIFIER, TestEnvironment.encodePassword(ADMIN_PASSWORD));
+        adminAuthenticationOnSecondKeyset = getTestSubject().login(ADMIN_IDENTIFIER, TestEnvironment
+            .encodePassword(ADMIN_PASSWORD));
       }
 
       Assert.assertTrue(canAccessResources(adminAuthenticationOnFirstKeyset));
diff --git a/component-test/src/main/java/TestPasswords.java b/component-test/src/main/java/TestPasswords.java
index 0cf22da..35fd73c 100644
--- a/component-test/src/main/java/TestPasswords.java
+++ b/component-test/src/main/java/TestPasswords.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.test.domain.TimeStampChecker;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.identity.api.v1.domain.Authentication;
-import io.mifos.identity.api.v1.domain.Password;
-import io.mifos.identity.api.v1.domain.UserWithPassword;
-import io.mifos.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.Password;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
 import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.test.domain.TimeStampChecker;
+import org.apache.fineract.cn.test.env.TestEnvironment;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/TestPermittableGroups.java b/component-test/src/main/java/TestPermittableGroups.java
index 7f75251..8ee0255 100644
--- a/component-test/src/main/java/TestPermittableGroups.java
+++ b/component-test/src/main/java/TestPermittableGroups.java
@@ -16,16 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.domain.PermittableEndpoint;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.identity.api.v1.events.EventConstants;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.PermittableGroup;
-import org.junit.Assert;
-import org.junit.Test;
-
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
 import java.util.Collections;
 import java.util.List;
+import org.apache.fineract.cn.anubis.api.v1.domain.PermittableEndpoint;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/TestProvisioning.java b/component-test/src/main/java/TestProvisioning.java
index e1ef55c..52fb76a 100644
--- a/component-test/src/main/java/TestProvisioning.java
+++ b/component-test/src/main/java/TestProvisioning.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.RoleConstants;
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.anubis.token.SystemAccessTokenSerializer;
-import io.mifos.core.api.context.AutoSeshat;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.InvalidTokenException;
-import io.mifos.core.lang.AutoTenantContext;
-import io.mifos.core.lang.TenantContextHolder;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.identity.api.v1.client.IdentityManager;
+import org.apache.fineract.cn.identity.api.v1.client.IdentityManager;
+import org.apache.fineract.cn.anubis.api.v1.RoleConstants;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.token.SystemAccessTokenSerializer;
+import org.apache.fineract.cn.api.context.AutoSeshat;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.InvalidTokenException;
+import org.apache.fineract.cn.lang.AutoTenantContext;
+import org.apache.fineract.cn.lang.TenantContextHolder;
+import org.apache.fineract.cn.test.env.TestEnvironment;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/TestRefreshToken.java b/component-test/src/main/java/TestRefreshToken.java
index 6d45dc2..290f25f 100644
--- a/component-test/src/main/java/TestRefreshToken.java
+++ b/component-test/src/main/java/TestRefreshToken.java
@@ -16,21 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.TokenConstants;
-import io.mifos.anubis.token.TenantRefreshTokenSerializer;
-import io.mifos.anubis.token.TokenSerializationResult;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.FeignTargetWithCookieJar;
-import io.mifos.core.api.util.InvalidTokenException;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.test.domain.TimeStampChecker;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.core.test.fixture.TenantDataStoreTestContext;
-import io.mifos.identity.api.v1.client.IdentityManager;
-import io.mifos.identity.api.v1.domain.Authentication;
-import io.mifos.identity.api.v1.domain.Password;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.api.v1.domain.User;
+
+import org.apache.fineract.cn.identity.api.v1.client.IdentityManager;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.Password;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.User;
+import org.apache.fineract.cn.anubis.api.v1.TokenConstants;
+import org.apache.fineract.cn.anubis.token.TenantRefreshTokenSerializer;
+import org.apache.fineract.cn.anubis.token.TokenSerializationResult;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.FeignTargetWithCookieJar;
+import org.apache.fineract.cn.api.util.InvalidTokenException;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.test.domain.TimeStampChecker;
+import org.apache.fineract.cn.test.env.TestEnvironment;
+import org.apache.fineract.cn.test.fixture.TenantDataStoreTestContext;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/component-test/src/main/java/TestRoles.java b/component-test/src/main/java/TestRoles.java
index 7479d27..9be2f6a 100644
--- a/component-test/src/main/java/TestRoles.java
+++ b/component-test/src/main/java/TestRoles.java
@@ -16,18 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.api.v1.domain.Role;
-import io.mifos.identity.api.v1.events.EventConstants;
+import static org.apache.fineract.cn.identity.internal.util.IdentityConstants.SU_ROLE;
+
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.api.util.NotFoundException;
 import org.junit.Assert;
 import org.junit.Test;
 
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static io.mifos.identity.internal.util.IdentityConstants.SU_ROLE;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/TestUsers.java b/component-test/src/main/java/TestUsers.java
index cb5d6fc..3c41030 100644
--- a/component-test/src/main/java/TestUsers.java
+++ b/component-test/src/main/java/TestUsers.java
@@ -16,12 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.*;
-import io.mifos.identity.api.v1.events.EventConstants;
+import static org.apache.fineract.cn.identity.internal.util.IdentityConstants.SU_NAME;
+import static org.apache.fineract.cn.identity.internal.util.IdentityConstants.SU_ROLE;
+
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.domain.RoleIdentifier;
+import org.apache.fineract.cn.identity.api.v1.domain.User;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.test.env.TestEnvironment;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -29,9 +37,6 @@
 import java.util.List;
 import java.util.Set;
 
-import static io.mifos.identity.internal.util.IdentityConstants.SU_NAME;
-import static io.mifos.identity.internal.util.IdentityConstants.SU_ROLE;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/component-test/src/main/java/listener/ApplicationEventListener.java b/component-test/src/main/java/listener/ApplicationEventListener.java
index 11c7e1c..983dfe0 100644
--- a/component-test/src/main/java/listener/ApplicationEventListener.java
+++ b/component-test/src/main/java/listener/ApplicationEventListener.java
@@ -18,9 +18,13 @@
  */
 package listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.identity.api.v1.events.*;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationCallEndpointSetEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionUserEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationSignatureEvent;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/component-test/src/main/java/listener/AuthenticationEventListener.java b/component-test/src/main/java/listener/AuthenticationEventListener.java
index ab47c74..7d62ad1 100644
--- a/component-test/src/main/java/listener/AuthenticationEventListener.java
+++ b/component-test/src/main/java/listener/AuthenticationEventListener.java
@@ -18,9 +18,9 @@
  */
 package listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/component-test/src/main/java/listener/PermittableGroupEventListener.java b/component-test/src/main/java/listener/PermittableGroupEventListener.java
index 3fdb599..94ce73b 100644
--- a/component-test/src/main/java/listener/PermittableGroupEventListener.java
+++ b/component-test/src/main/java/listener/PermittableGroupEventListener.java
@@ -18,9 +18,9 @@
  */
 package listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/component-test/src/main/java/listener/RoleEventListener.java b/component-test/src/main/java/listener/RoleEventListener.java
index f9c7f85..d1618f3 100644
--- a/component-test/src/main/java/listener/RoleEventListener.java
+++ b/component-test/src/main/java/listener/RoleEventListener.java
@@ -18,9 +18,9 @@
  */
 package listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/component-test/src/main/java/listener/UserEventListener.java b/component-test/src/main/java/listener/UserEventListener.java
index 9eb8baa..5be5e57 100644
--- a/component-test/src/main/java/listener/UserEventListener.java
+++ b/component-test/src/main/java/listener/UserEventListener.java
@@ -18,9 +18,9 @@
  */
 package listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/service/src/main/java/io/mifos/identity/config/IdentityServiceConfig.java b/service/src/main/java/org/apache/fineract/cn/identity/config/IdentityServiceConfig.java
similarity index 75%
rename from service/src/main/java/io/mifos/identity/config/IdentityServiceConfig.java
rename to service/src/main/java/org/apache/fineract/cn/identity/config/IdentityServiceConfig.java
index 2e79f1d..6707d25 100644
--- a/service/src/main/java/io/mifos/identity/config/IdentityServiceConfig.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/config/IdentityServiceConfig.java
@@ -16,18 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.config;
+package org.apache.fineract.cn.identity.config;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
-import io.mifos.anubis.config.EnableAnubis;
-import io.mifos.core.async.config.EnableAsync;
-import io.mifos.core.cassandra.config.EnableCassandra;
-import io.mifos.core.command.config.EnableCommandProcessing;
-import io.mifos.core.lang.config.EnableServiceException;
-import io.mifos.core.lang.config.EnableTenantContext;
-import io.mifos.identity.internal.util.IdentityConstants;
-import io.mifos.tool.crypto.config.EnableCrypto;
+import org.apache.fineract.cn.anubis.config.EnableAnubis;
+import org.apache.fineract.cn.async.config.EnableAsync;
+import org.apache.fineract.cn.cassandra.config.EnableCassandra;
+import org.apache.fineract.cn.command.config.EnableCommandProcessing;
+import org.apache.fineract.cn.crypto.config.EnableCrypto;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.lang.config.EnableServiceException;
+import org.apache.fineract.cn.lang.config.EnableTenantContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.SpringApplication;
@@ -52,10 +52,10 @@
 @EnableCrypto
 @EnableAnubis(provideSignatureStorage = false)
 @ComponentScan({
-    "io.mifos.identity.rest",
-    "io.mifos.identity.internal.service",
-    "io.mifos.identity.internal.repository",
-    "io.mifos.identity.internal.command.handler"
+    "org.apache.fineract.cn.identity.rest",
+    "org.apache.fineract.cn.identity.internal.service",
+    "org.apache.fineract.cn.identity.internal.repository",
+    "org.apache.fineract.cn.identity.internal.command.handler"
 })
 public class IdentityServiceConfig extends WebMvcConfigurerAdapter {
 
diff --git a/service/src/main/java/io/mifos/identity/internal/command/AuthenticationCommandResponse.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/AuthenticationCommandResponse.java
similarity index 98%
rename from service/src/main/java/io/mifos/identity/internal/command/AuthenticationCommandResponse.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/AuthenticationCommandResponse.java
index cee4e98..d005fba 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/AuthenticationCommandResponse.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/AuthenticationCommandResponse.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 import java.util.Objects;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/command/ChangeApplicationCallEndpointSetCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeApplicationCallEndpointSetCommand.java
similarity index 94%
rename from service/src/main/java/io/mifos/identity/internal/command/ChangeApplicationCallEndpointSetCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeApplicationCallEndpointSetCommand.java
index 2960aa1..d8bb3c5 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/ChangeApplicationCallEndpointSetCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeApplicationCallEndpointSetCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.CallEndpointSet;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/ChangeRoleCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeRoleCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/identity/internal/command/ChangeRoleCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeRoleCommand.java
index b2ef8b5..d0142f2 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/ChangeRoleCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeRoleCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/ChangeUserPasswordCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeUserPasswordCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/command/ChangeUserPasswordCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeUserPasswordCommand.java
index 6e7a7f5..01c5775 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/ChangeUserPasswordCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeUserPasswordCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/ChangeUserRoleCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeUserRoleCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/command/ChangeUserRoleCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeUserRoleCommand.java
index a9aec6a..f91bb8b 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/ChangeUserRoleCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/ChangeUserRoleCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/CreateApplicationCallEndpointSetCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateApplicationCallEndpointSetCommand.java
similarity index 93%
rename from service/src/main/java/io/mifos/identity/internal/command/CreateApplicationCallEndpointSetCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateApplicationCallEndpointSetCommand.java
index f822627..5098f20 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/CreateApplicationCallEndpointSetCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateApplicationCallEndpointSetCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.CallEndpointSet;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/CreateApplicationPermissionCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateApplicationPermissionCommand.java
similarity index 93%
rename from service/src/main/java/io/mifos/identity/internal/command/CreateApplicationPermissionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateApplicationPermissionCommand.java
index 4fdd609..f433b5a 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/CreateApplicationPermissionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateApplicationPermissionCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/CreatePermittableGroupCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreatePermittableGroupCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/identity/internal/command/CreatePermittableGroupCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreatePermittableGroupCommand.java
index 517b2bb..c9be766 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/CreatePermittableGroupCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreatePermittableGroupCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/CreateRoleCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateRoleCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/identity/internal/command/CreateRoleCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateRoleCommand.java
index 1c6e528..d8e0e3e 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/CreateRoleCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateRoleCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/CreateUserCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateUserCommand.java
similarity index 93%
rename from service/src/main/java/io/mifos/identity/internal/command/CreateUserCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateUserCommand.java
index 272383e..4b1c68a 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/CreateUserCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/CreateUserCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.identity.api.v1.domain.UserWithPassword;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationCallEndpointSetCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationCallEndpointSetCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationCallEndpointSetCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationCallEndpointSetCommand.java
index 03d1498..6df6700 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationCallEndpointSetCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationCallEndpointSetCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationCommand.java
index a2dd310..1ff4aff 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationPermissionCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationPermissionCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationPermissionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationPermissionCommand.java
index 7abd0c5..82792c1 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/DeleteApplicationPermissionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteApplicationPermissionCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/DeleteRoleCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteRoleCommand.java
similarity index 95%
rename from service/src/main/java/io/mifos/identity/internal/command/DeleteRoleCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteRoleCommand.java
index 6e57a94..75d9347 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/DeleteRoleCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/DeleteRoleCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/PasswordAuthenticationCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/PasswordAuthenticationCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/command/PasswordAuthenticationCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/PasswordAuthenticationCommand.java
index b44aea3..baf3a90 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/PasswordAuthenticationCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/PasswordAuthenticationCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/RefreshTokenAuthenticationCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/RefreshTokenAuthenticationCommand.java
similarity index 95%
rename from service/src/main/java/io/mifos/identity/internal/command/RefreshTokenAuthenticationCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/RefreshTokenAuthenticationCommand.java
index 6f9ae0b..a735979 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/RefreshTokenAuthenticationCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/RefreshTokenAuthenticationCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/SetApplicationPermissionUserEnabledCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/SetApplicationPermissionUserEnabledCommand.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/command/SetApplicationPermissionUserEnabledCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/SetApplicationPermissionUserEnabledCommand.java
index 65b9d2a..44bcf64 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/SetApplicationPermissionUserEnabledCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/SetApplicationPermissionUserEnabledCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/SetApplicationSignatureCommand.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/SetApplicationSignatureCommand.java
similarity index 94%
rename from service/src/main/java/io/mifos/identity/internal/command/SetApplicationSignatureCommand.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/SetApplicationSignatureCommand.java
index c25a588..d18977d 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/SetApplicationSignatureCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/SetApplicationSignatureCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command;
+package org.apache.fineract.cn.identity.internal.command;
 
-import io.mifos.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/ApplicationCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/ApplicationCommandHandler.java
similarity index 77%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/ApplicationCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/ApplicationCommandHandler.java
index cd454d0..bdef174 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/ApplicationCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/ApplicationCommandHandler.java
@@ -16,18 +16,35 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.events.*;
-import io.mifos.identity.internal.command.*;
-import io.mifos.identity.internal.mapper.ApplicationCallEndpointSetMapper;
-import io.mifos.identity.internal.mapper.PermissionMapper;
-import io.mifos.identity.internal.repository.*;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.command.annotation.EventEmitter;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationCallEndpointSetEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationPermissionUserEvent;
+import org.apache.fineract.cn.identity.api.v1.events.ApplicationSignatureEvent;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.internal.command.ChangeApplicationCallEndpointSetCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateApplicationCallEndpointSetCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateApplicationPermissionCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteApplicationCallEndpointSetCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteApplicationCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteApplicationPermissionCommand;
+import org.apache.fineract.cn.identity.internal.command.SetApplicationPermissionUserEnabledCommand;
+import org.apache.fineract.cn.identity.internal.command.SetApplicationSignatureCommand;
+import org.apache.fineract.cn.identity.internal.mapper.ApplicationCallEndpointSetMapper;
+import org.apache.fineract.cn.identity.internal.mapper.PermissionMapper;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSetEntity;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSets;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissionEntity;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissionUsers;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissions;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatures;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/AuthenticationCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/AuthenticationCommandHandler.java
similarity index 87%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/AuthenticationCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/AuthenticationCommandHandler.java
index b779fde..d424fb7 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/AuthenticationCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/AuthenticationCommandHandler.java
@@ -16,35 +16,57 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
 import com.google.common.collect.Sets;
 import com.google.gson.Gson;
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.anubis.api.v1.domain.TokenContent;
-import io.mifos.anubis.api.v1.domain.TokenPermission;
-import io.mifos.anubis.provider.InvalidKeyTimestampException;
-import io.mifos.anubis.provider.TenantRsaKeyProvider;
-import io.mifos.anubis.security.AmitAuthenticationException;
-import io.mifos.anubis.token.*;
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.lang.ApplicationName;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.core.lang.TenantContextHolder;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.lang.security.RsaPrivateKeyBuilder;
-import io.mifos.core.lang.security.RsaPublicKeyBuilder;
-import io.mifos.identity.api.v1.events.EventConstants;
-import io.mifos.identity.internal.command.AuthenticationCommandResponse;
-import io.mifos.identity.internal.command.PasswordAuthenticationCommand;
-import io.mifos.identity.internal.command.RefreshTokenAuthenticationCommand;
-import io.mifos.identity.internal.repository.*;
-import io.mifos.identity.internal.service.RoleMapper;
-import io.mifos.identity.internal.util.IdentityConstants;
-import io.mifos.tool.crypto.HashGenerator;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.anubis.api.v1.domain.TokenContent;
+import org.apache.fineract.cn.anubis.api.v1.domain.TokenPermission;
+import org.apache.fineract.cn.anubis.provider.InvalidKeyTimestampException;
+import org.apache.fineract.cn.anubis.provider.TenantRsaKeyProvider;
+import org.apache.fineract.cn.anubis.security.AmitAuthenticationException;
+import org.apache.fineract.cn.anubis.token.TenantAccessTokenSerializer;
+import org.apache.fineract.cn.anubis.token.TenantApplicationRsaKeyProvider;
+import org.apache.fineract.cn.anubis.token.TenantRefreshTokenSerializer;
+import org.apache.fineract.cn.anubis.token.TokenDeserializationResult;
+import org.apache.fineract.cn.anubis.token.TokenSerializationResult;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.crypto.HashGenerator;
+import org.apache.fineract.cn.identity.internal.command.AuthenticationCommandResponse;
+import org.apache.fineract.cn.identity.internal.command.PasswordAuthenticationCommand;
+import org.apache.fineract.cn.identity.internal.command.RefreshTokenAuthenticationCommand;
+import org.apache.fineract.cn.identity.internal.repository.AllowedOperationType;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSetEntity;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSets;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissionUsers;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissions;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatures;
+import org.apache.fineract.cn.identity.internal.repository.PermissionType;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroupEntity;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroups;
+import org.apache.fineract.cn.identity.internal.repository.PermittableType;
+import org.apache.fineract.cn.identity.internal.repository.PrivateSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.PrivateTenantInfoEntity;
+import org.apache.fineract.cn.identity.internal.repository.RoleEntity;
+import org.apache.fineract.cn.identity.internal.repository.Roles;
+import org.apache.fineract.cn.identity.internal.repository.Signatures;
+import org.apache.fineract.cn.identity.internal.repository.Tenants;
+import org.apache.fineract.cn.identity.internal.repository.UserEntity;
+import org.apache.fineract.cn.identity.internal.repository.Users;
+import org.apache.fineract.cn.identity.internal.service.RoleMapper;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.lang.ApplicationName;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.apache.fineract.cn.lang.TenantContextHolder;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.lang.security.RsaPrivateKeyBuilder;
+import org.apache.fineract.cn.lang.security.RsaPublicKeyBuilder;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -187,7 +209,8 @@
   private PrivateSignatureEntity checkedGetPrivateSignature() {
     final Optional<PrivateSignatureEntity> privateSignature = signatures.getPrivateSignature();
     if (!privateSignature.isPresent()) {
-      logger.error("Authentication attempted on tenant with no valid signature{}.", TenantContextHolder.identifier());
+      logger.error("Authentication attempted on tenant with no valid signature{}.", TenantContextHolder
+          .identifier());
       throw ServiceException.internalError("Tenant has no valid signature.");
     }
     return privateSignature.get();
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/PermittableGroupCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/PermittableGroupCommandHandler.java
similarity index 73%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/PermittableGroupCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/PermittableGroupCommandHandler.java
index 128f924..50b9fbd 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/PermittableGroupCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/PermittableGroupCommandHandler.java
@@ -16,25 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
-import io.mifos.anubis.api.v1.domain.PermittableEndpoint;
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.identity.api.v1.domain.PermittableGroup;
-import io.mifos.identity.api.v1.events.EventConstants;
-import io.mifos.identity.internal.command.CreatePermittableGroupCommand;
-import io.mifos.identity.internal.repository.PermittableGroupEntity;
-import io.mifos.identity.internal.repository.PermittableGroups;
-import io.mifos.identity.internal.repository.PermittableType;
+import java.util.stream.Collectors;
+import org.apache.fineract.cn.anubis.api.v1.domain.PermittableEndpoint;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.command.annotation.EventEmitter;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.internal.command.CreatePermittableGroupCommand;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroupEntity;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroups;
+import org.apache.fineract.cn.identity.internal.repository.PermittableType;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
 
-import java.util.stream.Collectors;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/Provisioner.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/Provisioner.java
similarity index 80%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/Provisioner.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/Provisioner.java
index c19fa47..efd3360 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/Provisioner.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/Provisioner.java
@@ -16,24 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
 import com.datastax.driver.core.exceptions.InvalidQueryException;
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.core.lang.TenantContextHolder;
-import io.mifos.core.lang.security.RsaKeyPairFactory;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.internal.mapper.SignatureMapper;
-import io.mifos.identity.internal.repository.*;
-import io.mifos.identity.internal.util.IdentityConstants;
-import io.mifos.tool.crypto.SaltGenerator;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -41,6 +26,37 @@
 import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.crypto.SaltGenerator;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.internal.mapper.SignatureMapper;
+import org.apache.fineract.cn.identity.internal.repository.AllowedOperationType;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSets;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissionUsers;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissions;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatures;
+import org.apache.fineract.cn.identity.internal.repository.PermissionType;
+import org.apache.fineract.cn.identity.internal.repository.Permissions;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroupEntity;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroups;
+import org.apache.fineract.cn.identity.internal.repository.PermittableType;
+import org.apache.fineract.cn.identity.internal.repository.PrivateTenantInfoEntity;
+import org.apache.fineract.cn.identity.internal.repository.RoleEntity;
+import org.apache.fineract.cn.identity.internal.repository.Roles;
+import org.apache.fineract.cn.identity.internal.repository.SignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.Signatures;
+import org.apache.fineract.cn.identity.internal.repository.Tenants;
+import org.apache.fineract.cn.identity.internal.repository.UserEntity;
+import org.apache.fineract.cn.identity.internal.repository.Users;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.apache.fineract.cn.lang.TenantContextHolder;
+import org.apache.fineract.cn.lang.security.RsaKeyPairFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
 
 /**
  * @author Myrle Krantz
@@ -111,7 +127,8 @@
       if (latestSignature.isPresent()) {
         final Optional<ByteBuffer> fixedSalt = tenant.getPrivateTenantInfo().map(PrivateTenantInfoEntity::getFixedSalt);
         if (fixedSalt.isPresent()) {
-          logger.info("Changing password for tenant '{}' instead of provisioning...", TenantContextHolder.checkedGetIdentifier());
+          logger.info("Changing password for tenant '{}' instead of provisioning...", TenantContextHolder
+              .checkedGetIdentifier());
           final UserEntity suUser = userEntityCreator
               .build(IdentityConstants.SU_NAME, IdentityConstants.SU_ROLE, initialPasswordHash, true,
                   fixedSalt.get().array(), timeToChangePasswordAfterExpirationInDays);
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/RoleCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/RoleCommandHandler.java
similarity index 77%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/RoleCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/RoleCommandHandler.java
index 51c042b..d56e8f8 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/RoleCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/RoleCommandHandler.java
@@ -16,28 +16,27 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.identity.api.v1.domain.Role;
-import io.mifos.identity.api.v1.events.EventConstants;
-import io.mifos.identity.internal.command.ChangeRoleCommand;
-import io.mifos.identity.internal.command.CreateRoleCommand;
-import io.mifos.identity.internal.command.DeleteRoleCommand;
-import io.mifos.identity.internal.mapper.PermissionMapper;
-import io.mifos.identity.internal.repository.RoleEntity;
-import io.mifos.identity.internal.repository.Roles;
+import java.util.Optional;
+import java.util.stream.Collectors;
+import javax.annotation.Nonnull;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.command.annotation.EventEmitter;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.internal.command.ChangeRoleCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateRoleCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteRoleCommand;
+import org.apache.fineract.cn.identity.internal.mapper.PermissionMapper;
+import org.apache.fineract.cn.identity.internal.repository.RoleEntity;
+import org.apache.fineract.cn.identity.internal.repository.Roles;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
 
-import javax.annotation.Nonnull;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/UserCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserCommandHandler.java
similarity index 80%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/UserCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserCommandHandler.java
index 95dcdf0..a0cd2cb 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/UserCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserCommandHandler.java
@@ -16,19 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.events.EventConstants;
-import io.mifos.identity.internal.command.ChangeUserPasswordCommand;
-import io.mifos.identity.internal.command.ChangeUserRoleCommand;
-import io.mifos.identity.internal.command.CreateUserCommand;
-import io.mifos.identity.internal.repository.UserEntity;
-import io.mifos.identity.internal.repository.Users;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.command.annotation.EventEmitter;
+import org.apache.fineract.cn.identity.api.v1.events.EventConstants;
+import org.apache.fineract.cn.identity.internal.command.ChangeUserPasswordCommand;
+import org.apache.fineract.cn.identity.internal.command.ChangeUserRoleCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateUserCommand;
+import org.apache.fineract.cn.identity.internal.repository.UserEntity;
+import org.apache.fineract.cn.identity.internal.repository.Users;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Component;
diff --git a/service/src/main/java/io/mifos/identity/internal/command/handler/UserEntityCreator.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserEntityCreator.java
similarity index 85%
rename from service/src/main/java/io/mifos/identity/internal/command/handler/UserEntityCreator.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserEntityCreator.java
index 5107408..661f76d 100644
--- a/service/src/main/java/io/mifos/identity/internal/command/handler/UserEntityCreator.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/command/handler/UserEntityCreator.java
@@ -16,24 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
 import com.datastax.driver.core.LocalDate;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.internal.repository.PrivateTenantInfoEntity;
-import io.mifos.identity.internal.repository.Tenants;
-import io.mifos.identity.internal.repository.UserEntity;
-import io.mifos.identity.internal.util.IdentityConstants;
-import io.mifos.identity.internal.util.Time;
-import io.mifos.tool.crypto.HashGenerator;
-import io.mifos.tool.crypto.SaltGenerator;
+import java.nio.ByteBuffer;
+import java.util.Optional;
+import org.apache.fineract.cn.crypto.HashGenerator;
+import org.apache.fineract.cn.crypto.SaltGenerator;
+import org.apache.fineract.cn.identity.internal.repository.PrivateTenantInfoEntity;
+import org.apache.fineract.cn.identity.internal.repository.Tenants;
+import org.apache.fineract.cn.identity.internal.repository.UserEntity;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.identity.internal.util.Time;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.util.EncodingUtils;
 import org.springframework.stereotype.Component;
 
-import java.nio.ByteBuffer;
-import java.util.Optional;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/service/src/main/java/io/mifos/identity/internal/mapper/ApplicationCallEndpointSetMapper.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/ApplicationCallEndpointSetMapper.java
similarity index 89%
rename from service/src/main/java/io/mifos/identity/internal/mapper/ApplicationCallEndpointSetMapper.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/ApplicationCallEndpointSetMapper.java
index 2bdbc60..3bee97f 100644
--- a/service/src/main/java/io/mifos/identity/internal/mapper/ApplicationCallEndpointSetMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/ApplicationCallEndpointSetMapper.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.mapper;
+package org.apache.fineract.cn.identity.internal.mapper;
 
-import io.mifos.identity.api.v1.domain.CallEndpointSet;
-import io.mifos.identity.internal.repository.ApplicationCallEndpointSetEntity;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
 
 import java.util.Collections;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSetEntity;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/mapper/PermissionMapper.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/PermissionMapper.java
similarity index 87%
rename from service/src/main/java/io/mifos/identity/internal/mapper/PermissionMapper.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/PermissionMapper.java
index b7ce862..337e679 100644
--- a/service/src/main/java/io/mifos/identity/internal/mapper/PermissionMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/PermissionMapper.java
@@ -16,17 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.mapper;
+package org.apache.fineract.cn.identity.internal.mapper;
 
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.internal.repository.AllowedOperationType;
-import io.mifos.identity.internal.repository.PermissionType;
-
-import javax.annotation.Nullable;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
 import java.util.Collections;
 import java.util.Set;
 import java.util.stream.Collectors;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.identity.internal.repository.AllowedOperationType;
+import org.apache.fineract.cn.identity.internal.repository.PermissionType;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/mapper/SignatureMapper.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/SignatureMapper.java
similarity index 80%
rename from service/src/main/java/io/mifos/identity/internal/mapper/SignatureMapper.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/SignatureMapper.java
index cd6892d..11fdfa2 100644
--- a/service/src/main/java/io/mifos/identity/internal/mapper/SignatureMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/mapper/SignatureMapper.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.mapper;
+package org.apache.fineract.cn.identity.internal.mapper;
 
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.identity.internal.repository.ApplicationSignatureEntity;
-import io.mifos.identity.internal.repository.SignatureEntity;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.SignatureEntity;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/AllowedOperationType.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/AllowedOperationType.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/repository/AllowedOperationType.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/AllowedOperationType.java
index 9a7bbe6..f863800 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/AllowedOperationType.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/AllowedOperationType.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.TypeCodec;
 import com.datastax.driver.extras.codecs.enums.EnumNameCodec;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSetEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationCallEndpointSetEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSetEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationCallEndpointSetEntity.java
index a47269d..260ac81 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSetEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationCallEndpointSetEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.ClusteringColumn;
 import com.datastax.driver.mapping.annotations.Column;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationCallEndpointSets.java
similarity index 93%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationCallEndpointSets.java
index 73e54d4..9ec5b4e 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationCallEndpointSets.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationCallEndpointSets.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.Session;
@@ -25,9 +25,9 @@
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionEntity.java
index 261db5d..57c6104 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.ClusteringColumn;
 import com.datastax.driver.mapping.annotations.Column;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionUsers.java
similarity index 93%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionUsers.java
index e1dfe37..7d053d5 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsers.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionUsers.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
+import org.apache.fineract.cn.cassandra.core.CassandraSessionProvider;
+import org.apache.fineract.cn.cassandra.core.TenantAwareEntityTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsersEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionUsersEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsersEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionUsersEntity.java
index 9f2eda1..59edce2 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissionUsersEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissionUsersEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.ClusteringColumn;
 import com.datastax.driver.mapping.annotations.Column;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissions.java
similarity index 94%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissions.java
index 5f8a296..0d103e9 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationPermissions.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationPermissions.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.Session;
@@ -25,9 +25,9 @@
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatureEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationSignatureEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatureEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationSignatureEntity.java
index 221e269..348f8f5 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatureEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationSignatureEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.ClusteringColumn;
 import com.datastax.driver.mapping.annotations.Column;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationSignatures.java
similarity index 94%
rename from service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationSignatures.java
index 43d6354..64c6d0b 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/ApplicationSignatures.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/ApplicationSignatures.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.ResultSet;
@@ -28,9 +28,9 @@
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PermissionType.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermissionType.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/PermissionType.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermissionType.java
index 87e8206..ccaad43 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PermissionType.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermissionType.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 
 import com.datastax.driver.mapping.annotations.Field;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Permissions.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Permissions.java
similarity index 91%
rename from service/src/main/java/io/mifos/identity/internal/repository/Permissions.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Permissions.java
index 9cc6da5..4162dd8 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Permissions.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Permissions.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.util.CodecRegistry;
+import org.apache.fineract.cn.cassandra.core.CassandraSessionProvider;
+import org.apache.fineract.cn.cassandra.util.CodecRegistry;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroupEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableGroupEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/PermittableGroupEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableGroupEntity.java
index 0a48047..1b5a87a 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroupEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableGroupEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.Column;
 import com.datastax.driver.mapping.annotations.Frozen;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableGroups.java
similarity index 93%
rename from service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableGroups.java
index 9911fdd..aac5572 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PermittableGroups.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableGroups.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.Session;
@@ -26,16 +26,15 @@
 import com.datastax.driver.core.schemabuilder.CreateType;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.util.Assert;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.Assert;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PermittableType.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableType.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/PermittableType.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableType.java
index 54f9289..6117fae 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PermittableType.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PermittableType.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.Field;
 import com.datastax.driver.mapping.annotations.UDT;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PrivateSignatureEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PrivateSignatureEntity.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/repository/PrivateSignatureEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PrivateSignatureEntity.java
index 7bdfa1e..40f0724 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PrivateSignatureEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PrivateSignatureEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.Column;
 import com.datastax.driver.mapping.annotations.PartitionKey;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/PrivateTenantInfoEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PrivateTenantInfoEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/PrivateTenantInfoEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PrivateTenantInfoEntity.java
index 8b6fa6a..d9a96b8 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/PrivateTenantInfoEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/PrivateTenantInfoEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.Column;
 import com.datastax.driver.mapping.annotations.PartitionKey;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/RoleEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/RoleEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/RoleEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/RoleEntity.java
index b8fa1d0..8b59945 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/RoleEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/RoleEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.Column;
 import com.datastax.driver.mapping.annotations.Frozen;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Roles.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Roles.java
similarity index 92%
rename from service/src/main/java/io/mifos/identity/internal/repository/Roles.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Roles.java
index 0082448..1941e45 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Roles.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Roles.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.Session;
@@ -25,9 +25,9 @@
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/SignatureEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/SignatureEntity.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/repository/SignatureEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/SignatureEntity.java
index 0d2d4d1..4d1f128 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/SignatureEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/SignatureEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.mapping.annotations.Column;
 import com.datastax.driver.mapping.annotations.PartitionKey;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Signatures.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Signatures.java
similarity index 96%
rename from service/src/main/java/io/mifos/identity/internal/repository/Signatures.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Signatures.java
index e7b037e..66b88a7 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Signatures.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Signatures.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.BoundStatement;
 import com.datastax.driver.core.DataType;
@@ -29,17 +29,16 @@
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.core.schemabuilder.SchemaStatement;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.lang.security.RsaKeyPairFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
+import org.apache.fineract.cn.cassandra.core.CassandraSessionProvider;
+import org.apache.fineract.cn.cassandra.core.TenantAwareCassandraMapperProvider;
+import org.apache.fineract.cn.lang.security.RsaKeyPairFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
 /**
  * All write accesses are synchronized.  These occur only during provisioning or key rotation, so they are not
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Tenants.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Tenants.java
similarity index 92%
rename from service/src/main/java/io/mifos/identity/internal/repository/Tenants.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Tenants.java
index f836793..01bf344 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Tenants.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Tenants.java
@@ -16,20 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.BoundStatement;
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
-import io.mifos.identity.internal.util.IdentityConstants;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import java.nio.ByteBuffer;
 import java.util.Optional;
+import org.apache.fineract.cn.cassandra.core.CassandraSessionProvider;
+import org.apache.fineract.cn.cassandra.core.TenantAwareEntityTemplate;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/UserEntity.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/UserEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/identity/internal/repository/UserEntity.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/UserEntity.java
index b8e8ca2..3863874 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/UserEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/UserEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.LocalDate;
 import com.datastax.driver.mapping.annotations.Column;
diff --git a/service/src/main/java/io/mifos/identity/internal/repository/Users.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Users.java
similarity index 92%
rename from service/src/main/java/io/mifos/identity/internal/repository/Users.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Users.java
index e925df8..cb25d92 100644
--- a/service/src/main/java/io/mifos/identity/internal/repository/Users.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/repository/Users.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.repository;
+package org.apache.fineract.cn.identity.internal.repository;
 
 import com.datastax.driver.core.DataType;
 import com.datastax.driver.core.Session;
@@ -25,9 +25,9 @@
 import com.datastax.driver.core.schemabuilder.Create;
 import com.datastax.driver.core.schemabuilder.SchemaBuilder;
 import com.datastax.driver.mapping.Mapper;
-import io.mifos.core.cassandra.core.CassandraSessionProvider;
-import io.mifos.core.cassandra.core.TenantAwareCassandraMapperProvider;
-import io.mifos.core.cassandra.core.TenantAwareEntityTemplate;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
diff --git a/service/src/main/java/io/mifos/identity/internal/service/ApplicationService.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/ApplicationService.java
similarity index 84%
rename from service/src/main/java/io/mifos/identity/internal/service/ApplicationService.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/service/ApplicationService.java
index e0d70ff..61e70a4 100644
--- a/service/src/main/java/io/mifos/identity/internal/service/ApplicationService.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/ApplicationService.java
@@ -16,22 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.service;
+package org.apache.fineract.cn.identity.internal.service;
 
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.identity.api.v1.domain.CallEndpointSet;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.internal.mapper.ApplicationCallEndpointSetMapper;
-import io.mifos.identity.internal.mapper.PermissionMapper;
-import io.mifos.identity.internal.mapper.SignatureMapper;
-import io.mifos.identity.internal.repository.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Nonnull;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
+import javax.annotation.Nonnull;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.internal.mapper.ApplicationCallEndpointSetMapper;
+import org.apache.fineract.cn.identity.internal.mapper.PermissionMapper;
+import org.apache.fineract.cn.identity.internal.mapper.SignatureMapper;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSets;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissionUsers;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissions;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatures;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/service/PermittableGroupService.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/PermittableGroupService.java
similarity index 83%
rename from service/src/main/java/io/mifos/identity/internal/service/PermittableGroupService.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/service/PermittableGroupService.java
index 259f679..68693c2 100644
--- a/service/src/main/java/io/mifos/identity/internal/service/PermittableGroupService.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/PermittableGroupService.java
@@ -16,18 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.service;
-
-import io.mifos.anubis.api.v1.domain.PermittableEndpoint;
-import io.mifos.identity.api.v1.domain.PermittableGroup;
-import io.mifos.identity.internal.repository.PermittableType;
-import io.mifos.identity.internal.repository.PermittableGroupEntity;
-import io.mifos.identity.internal.repository.PermittableGroups;
-import org.springframework.stereotype.Service;
+package org.apache.fineract.cn.identity.internal.service;
 
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
+import org.apache.fineract.cn.anubis.api.v1.domain.PermittableEndpoint;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroupEntity;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroups;
+import org.apache.fineract.cn.identity.internal.repository.PermittableType;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/service/RoleMapper.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/RoleMapper.java
similarity index 83%
rename from service/src/main/java/io/mifos/identity/internal/service/RoleMapper.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/service/RoleMapper.java
index c19e0f8..bd20148 100644
--- a/service/src/main/java/io/mifos/identity/internal/service/RoleMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/RoleMapper.java
@@ -16,16 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.service;
+package org.apache.fineract.cn.identity.internal.service;
 
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.internal.repository.PermissionType;
-import io.mifos.identity.internal.repository.AllowedOperationType;
-
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.identity.internal.repository.AllowedOperationType;
+import org.apache.fineract.cn.identity.internal.repository.PermissionType;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/service/RoleService.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/RoleService.java
similarity index 87%
rename from service/src/main/java/io/mifos/identity/internal/service/RoleService.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/service/RoleService.java
index d4c5750..e2fb3db 100644
--- a/service/src/main/java/io/mifos/identity/internal/service/RoleService.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/RoleService.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.service;
+package org.apache.fineract.cn.identity.internal.service;
 
-import io.mifos.identity.api.v1.domain.Role;
-import io.mifos.identity.internal.repository.RoleEntity;
-import io.mifos.identity.internal.repository.Roles;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.internal.repository.RoleEntity;
+import org.apache.fineract.cn.identity.internal.repository.Roles;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/service/TenantService.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/TenantService.java
similarity index 84%
rename from service/src/main/java/io/mifos/identity/internal/service/TenantService.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/service/TenantService.java
index 05c1f05..e4dc2b2 100644
--- a/service/src/main/java/io/mifos/identity/internal/service/TenantService.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/TenantService.java
@@ -16,24 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.service;
-
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.anubis.config.TenantSignatureRepository;
-import io.mifos.core.lang.security.RsaKeyPairFactory;
-import io.mifos.core.lang.security.RsaPrivateKeyBuilder;
-import io.mifos.identity.internal.mapper.SignatureMapper;
-import io.mifos.identity.internal.repository.PrivateSignatureEntity;
-import io.mifos.identity.internal.repository.SignatureEntity;
-import io.mifos.identity.internal.repository.Signatures;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+package org.apache.fineract.cn.identity.internal.service;
 
 import java.security.PrivateKey;
 import java.security.interfaces.RSAPrivateKey;
 import java.util.List;
 import java.util.Optional;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.config.TenantSignatureRepository;
+import org.apache.fineract.cn.identity.internal.mapper.SignatureMapper;
+import org.apache.fineract.cn.identity.internal.repository.PrivateSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.SignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.Signatures;
+import org.apache.fineract.cn.lang.security.RsaKeyPairFactory;
+import org.apache.fineract.cn.lang.security.RsaPrivateKeyBuilder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/service/UserService.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/UserService.java
similarity index 76%
rename from service/src/main/java/io/mifos/identity/internal/service/UserService.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/service/UserService.java
index 3a22681..c39d3a1 100644
--- a/service/src/main/java/io/mifos/identity/internal/service/UserService.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/service/UserService.java
@@ -16,13 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.service;
+package org.apache.fineract.cn.identity.internal.service;
 
-import io.mifos.anubis.api.v1.domain.AllowedOperation;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.api.v1.domain.User;
-import io.mifos.identity.internal.repository.*;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.User;
+import org.apache.fineract.cn.anubis.api.v1.domain.AllowedOperation;
+import org.apache.fineract.cn.identity.internal.repository.PermissionType;
+import org.apache.fineract.cn.identity.internal.repository.RoleEntity;
+import org.apache.fineract.cn.identity.internal.repository.Roles;
+import org.apache.fineract.cn.identity.internal.repository.UserEntity;
+import org.apache.fineract.cn.identity.internal.repository.Users;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/identity/internal/util/IdentityConstants.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/util/IdentityConstants.java
similarity index 95%
rename from service/src/main/java/io/mifos/identity/internal/util/IdentityConstants.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/util/IdentityConstants.java
index 6dd336d..0042585 100644
--- a/service/src/main/java/io/mifos/identity/internal/util/IdentityConstants.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/util/IdentityConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.util;
+package org.apache.fineract.cn.identity.internal.util;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/internal/util/Time.java b/service/src/main/java/org/apache/fineract/cn/identity/internal/util/Time.java
similarity index 95%
rename from service/src/main/java/io/mifos/identity/internal/util/Time.java
rename to service/src/main/java/org/apache/fineract/cn/identity/internal/util/Time.java
index 69f2f20..91c0508 100644
--- a/service/src/main/java/io/mifos/identity/internal/util/Time.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/internal/util/Time.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.util;
+package org.apache.fineract.cn.identity.internal.util;
 
 import com.datastax.driver.core.LocalDate;
 
diff --git a/service/src/main/java/io/mifos/identity/rest/ApplicationCallEndpointSetRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationCallEndpointSetRestController.java
similarity index 89%
rename from service/src/main/java/io/mifos/identity/rest/ApplicationCallEndpointSetRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationCallEndpointSetRestController.java
index 9d399b9..cffd564 100644
--- a/service/src/main/java/io/mifos/identity/rest/ApplicationCallEndpointSetRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationCallEndpointSetRestController.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.domain.CallEndpointSet;
-import io.mifos.identity.internal.command.ChangeApplicationCallEndpointSetCommand;
-import io.mifos.identity.internal.command.CreateApplicationCallEndpointSetCommand;
-import io.mifos.identity.internal.command.DeleteApplicationCallEndpointSetCommand;
-import io.mifos.identity.internal.service.ApplicationService;
+import org.apache.fineract.cn.identity.api.v1.domain.CallEndpointSet;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.internal.command.ChangeApplicationCallEndpointSetCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateApplicationCallEndpointSetCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteApplicationCallEndpointSetCommand;
+import org.apache.fineract.cn.identity.internal.service.ApplicationService;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
diff --git a/service/src/main/java/io/mifos/identity/rest/ApplicationPermissionUserRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationPermissionUserRestController.java
similarity index 80%
rename from service/src/main/java/io/mifos/identity/rest/ApplicationPermissionUserRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationPermissionUserRestController.java
index 2e1b6ba..0100623 100644
--- a/service/src/main/java/io/mifos/identity/rest/ApplicationPermissionUserRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationPermissionUserRestController.java
@@ -16,22 +16,26 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.internal.command.SetApplicationPermissionUserEnabledCommand;
-import io.mifos.identity.internal.service.ApplicationService;
-import io.mifos.identity.internal.service.UserService;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import javax.annotation.Nonnull;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.internal.command.SetApplicationPermissionUserEnabledCommand;
+import org.apache.fineract.cn.identity.internal.service.ApplicationService;
+import org.apache.fineract.cn.identity.internal.service.UserService;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Nonnull;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/rest/ApplicationRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationRestController.java
similarity index 86%
rename from service/src/main/java/io/mifos/identity/rest/ApplicationRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationRestController.java
index 9e72489..d24b462 100644
--- a/service/src/main/java/io/mifos/identity/rest/ApplicationRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/ApplicationRestController.java
@@ -16,23 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.anubis.api.v1.domain.Signature;
-import io.mifos.anubis.api.v1.validation.ValidKeyTimestamp;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.Permission;
-import io.mifos.identity.internal.command.CreateApplicationPermissionCommand;
-import io.mifos.identity.internal.command.DeleteApplicationCommand;
-import io.mifos.identity.internal.command.DeleteApplicationPermissionCommand;
-import io.mifos.identity.internal.command.SetApplicationSignatureCommand;
-import io.mifos.identity.internal.service.ApplicationService;
-import io.mifos.identity.internal.service.PermittableGroupService;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.anubis.api.v1.domain.Signature;
+import org.apache.fineract.cn.anubis.api.v1.validation.ValidKeyTimestamp;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.internal.command.CreateApplicationPermissionCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteApplicationCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteApplicationPermissionCommand;
+import org.apache.fineract.cn.identity.internal.command.SetApplicationSignatureCommand;
+import org.apache.fineract.cn.identity.internal.service.ApplicationService;
+import org.apache.fineract.cn.identity.internal.service.PermittableGroupService;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
@@ -97,7 +97,8 @@
                           @PathVariable("timestamp") @ValidKeyTimestamp String timestamp) {
     return service.getSignatureForApplication(applicationIdentifier, timestamp)
             .map(ResponseEntity::ok)
-            .orElseThrow(() -> ServiceException.notFound("Signature for application ''" + applicationIdentifier + "'' and key timestamp ''" + timestamp + "'' doesn''t exist."));
+            .orElseThrow(() -> ServiceException
+                .notFound("Signature for application ''" + applicationIdentifier + "'' and key timestamp ''" + timestamp + "'' doesn''t exist."));
   }
 
   @RequestMapping(value = "/{applicationidentifier}", method = RequestMethod.DELETE,
diff --git a/service/src/main/java/io/mifos/identity/rest/AuthorizationRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/AuthorizationRestController.java
similarity index 87%
rename from service/src/main/java/io/mifos/identity/rest/AuthorizationRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/AuthorizationRestController.java
index 787735a..4250657 100644
--- a/service/src/main/java/io/mifos/identity/rest/AuthorizationRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/AuthorizationRestController.java
@@ -16,23 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.anubis.api.v1.TokenConstants;
-import io.mifos.anubis.security.AmitAuthenticationException;
-import io.mifos.core.command.domain.CommandCallback;
-import io.mifos.core.command.domain.CommandProcessingException;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.client.IdentityManager;
-import io.mifos.identity.api.v1.domain.Authentication;
-import io.mifos.identity.internal.command.AuthenticationCommandResponse;
-import io.mifos.identity.internal.command.PasswordAuthenticationCommand;
-import io.mifos.identity.internal.command.RefreshTokenAuthenticationCommand;
-import io.mifos.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.client.IdentityManager;
+import org.apache.fineract.cn.identity.api.v1.domain.Authentication;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.anubis.api.v1.TokenConstants;
+import org.apache.fineract.cn.anubis.security.AmitAuthenticationException;
+import org.apache.fineract.cn.command.domain.CommandCallback;
+import org.apache.fineract.cn.command.domain.CommandProcessingException;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.internal.command.AuthenticationCommandResponse;
+import org.apache.fineract.cn.identity.internal.command.PasswordAuthenticationCommand;
+import org.apache.fineract.cn.identity.internal.command.RefreshTokenAuthenticationCommand;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
diff --git a/service/src/main/java/io/mifos/identity/rest/InitializeRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/InitializeRestController.java
similarity index 76%
rename from service/src/main/java/io/mifos/identity/rest/InitializeRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/InitializeRestController.java
index 348ba37..eaee1b2 100644
--- a/service/src/main/java/io/mifos/identity/rest/InitializeRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/InitializeRestController.java
@@ -16,18 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.anubis.api.v1.domain.ApplicationSignatureSet;
-import io.mifos.identity.internal.command.handler.Provisioner;
-import io.mifos.identity.internal.service.TenantService;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.anubis.api.v1.domain.ApplicationSignatureSet;
+import org.apache.fineract.cn.identity.internal.command.handler.Provisioner;
+import org.apache.fineract.cn.identity.internal.service.TenantService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/rest/PathConstants.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/PathConstants.java
similarity index 95%
rename from service/src/main/java/io/mifos/identity/rest/PathConstants.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/PathConstants.java
index fcb4afd..6e802df 100644
--- a/service/src/main/java/io/mifos/identity/rest/PathConstants.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/PathConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/identity/rest/PermittableGroupRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/PermittableGroupRestController.java
similarity index 85%
rename from service/src/main/java/io/mifos/identity/rest/PermittableGroupRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/PermittableGroupRestController.java
index e434f57..7ada8d9 100644
--- a/service/src/main/java/io/mifos/identity/rest/PermittableGroupRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/PermittableGroupRestController.java
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.PermittableGroup;
-import io.mifos.identity.internal.service.PermittableGroupService;
-import io.mifos.identity.internal.command.CreatePermittableGroupCommand;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.PermittableGroup;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.internal.command.CreatePermittableGroupCommand;
+import org.apache.fineract.cn.identity.internal.service.PermittableGroupService;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
diff --git a/service/src/main/java/io/mifos/identity/rest/RoleRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/RoleRestController.java
similarity index 81%
rename from service/src/main/java/io/mifos/identity/rest/RoleRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/RoleRestController.java
index 7c90969..c0ea92f 100644
--- a/service/src/main/java/io/mifos/identity/rest/RoleRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/RoleRestController.java
@@ -16,27 +16,31 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.Role;
-import io.mifos.identity.api.v1.validation.CheckRoleChangeable;
-import io.mifos.identity.internal.command.ChangeRoleCommand;
-import io.mifos.identity.internal.command.CreateRoleCommand;
-import io.mifos.identity.internal.command.DeleteRoleCommand;
-import io.mifos.identity.internal.service.RoleService;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.identity.api.v1.domain.Role;
+import org.apache.fineract.cn.identity.api.v1.validation.CheckRoleChangeable;
+import java.util.List;
+import javax.validation.Valid;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.internal.command.ChangeRoleCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateRoleCommand;
+import org.apache.fineract.cn.identity.internal.command.DeleteRoleCommand;
+import org.apache.fineract.cn.identity.internal.service.RoleService;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.List;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 
 /**
diff --git a/service/src/main/java/io/mifos/identity/rest/UserRestController.java b/service/src/main/java/org/apache/fineract/cn/identity/rest/UserRestController.java
similarity index 76%
rename from service/src/main/java/io/mifos/identity/rest/UserRestController.java
rename to service/src/main/java/org/apache/fineract/cn/identity/rest/UserRestController.java
index 5bc2c39..ab58688 100644
--- a/service/src/main/java/io/mifos/identity/rest/UserRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/identity/rest/UserRestController.java
@@ -16,19 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.rest;
+package org.apache.fineract.cn.identity.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.api.util.UserContextHolder;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.identity.api.v1.PermittableGroupIds;
-import io.mifos.identity.api.v1.domain.*;
-import io.mifos.identity.internal.command.ChangeUserRoleCommand;
-import io.mifos.identity.internal.command.ChangeUserPasswordCommand;
-import io.mifos.identity.internal.command.CreateUserCommand;
-import io.mifos.identity.internal.service.UserService;
+import org.apache.fineract.cn.identity.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.identity.api.v1.domain.Password;
+import org.apache.fineract.cn.identity.api.v1.domain.Permission;
+import org.apache.fineract.cn.identity.api.v1.domain.RoleIdentifier;
+import org.apache.fineract.cn.identity.api.v1.domain.User;
+import org.apache.fineract.cn.identity.api.v1.domain.UserWithPassword;
+import org.apache.fineract.cn.identity.internal.command.ChangeUserPasswordCommand;
+import org.apache.fineract.cn.identity.internal.command.ChangeUserRoleCommand;
+import org.apache.fineract.cn.identity.internal.command.CreateUserCommand;
+import org.apache.fineract.cn.identity.internal.service.UserService;
+import org.apache.fineract.cn.identity.internal.util.IdentityConstants;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
@@ -39,8 +44,6 @@
 import java.util.List;
 import java.util.Set;
 
-import static io.mifos.identity.internal.util.IdentityConstants.SU_NAME;
-import static io.mifos.identity.rest.PathConstants.IDENTIFIER_PATH_VARIABLE;
 
 
 /**
@@ -90,7 +93,7 @@
       consumes = {MediaType.ALL_VALUE},
       produces = {MediaType.APPLICATION_JSON_VALUE})
   @Permittable(value = AcceptedTokenType.TENANT, groupId = PermittableGroupIds.IDENTITY_MANAGEMENT)
-  public @ResponseBody ResponseEntity<User> get(@PathVariable(IDENTIFIER_PATH_VARIABLE) final String userIdentifier)
+  public @ResponseBody ResponseEntity<User> get(@PathVariable(PathConstants.IDENTIFIER_PATH_VARIABLE) final String userIdentifier)
   {
     return new ResponseEntity<>(checkIdentifier(userIdentifier), HttpStatus.OK);
   }
@@ -100,10 +103,10 @@
       produces = {MediaType.APPLICATION_JSON_VALUE})
   @Permittable(value = AcceptedTokenType.TENANT, groupId = PermittableGroupIds.IDENTITY_MANAGEMENT)
   public @ResponseBody ResponseEntity<Void> changeUserRole(
-      @PathVariable(IDENTIFIER_PATH_VARIABLE) final String userIdentifier,
+      @PathVariable(PathConstants.IDENTIFIER_PATH_VARIABLE) final String userIdentifier,
       @RequestBody @Valid final RoleIdentifier roleIdentifier)
   {
-    if (userIdentifier.equals(SU_NAME))
+    if (userIdentifier.equals(IdentityConstants.SU_NAME))
       throw ServiceException.badRequest("Role of user with identifier: " + userIdentifier + " cannot be changed.");
 
     checkIdentifier(userIdentifier);
@@ -119,7 +122,7 @@
   @Permittable(value = AcceptedTokenType.TENANT, groupId = PermittableGroupIds.IDENTITY_MANAGEMENT)
   @Permittable(value = AcceptedTokenType.TENANT, groupId = PermittableGroupIds.SELF_MANAGEMENT, permittedEndpoint = "/users/{useridentifier}/permissions")
   @ResponseBody
-  Set<Permission> getUserPermissions(@PathVariable(IDENTIFIER_PATH_VARIABLE) String userIdentifier)
+  Set<Permission> getUserPermissions(@PathVariable(PathConstants.IDENTIFIER_PATH_VARIABLE) String userIdentifier)
   {
     checkIdentifier(userIdentifier);
 
@@ -132,11 +135,12 @@
   @Permittable(value = AcceptedTokenType.TENANT, groupId = PermittableGroupIds.IDENTITY_MANAGEMENT)
   @Permittable(value = AcceptedTokenType.TENANT, groupId = PermittableGroupIds.SELF_MANAGEMENT, permittedEndpoint = "/users/{useridentifier}/password")
   public @ResponseBody ResponseEntity<Void> changeUserPassword(
-      @PathVariable(IDENTIFIER_PATH_VARIABLE) final String userIdentifier,
+      @PathVariable(PathConstants.IDENTIFIER_PATH_VARIABLE) final String userIdentifier,
       @RequestBody @Valid final Password password)
   {
-    if (userIdentifier.equals(SU_NAME) && !UserContextHolder.checkedGetUser().equals(SU_NAME))
-      throw ServiceException.badRequest("Password of ''{0}'' can only be changed by themselves.", SU_NAME);
+    if (userIdentifier.equals(IdentityConstants.SU_NAME) && !UserContextHolder.checkedGetUser().equals(
+        IdentityConstants.SU_NAME))
+      throw ServiceException.badRequest("Password of ''{0}'' can only be changed by themselves.", IdentityConstants.SU_NAME);
 
     checkIdentifier(userIdentifier);
 
diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml
index 65e6e4d..9d0b4ff 100644
--- a/service/src/main/resources/application.yml
+++ b/service/src/main/resources/application.yml
@@ -61,7 +61,7 @@
   corepoolsize: 32
   maxpoolsize: 16384
   queuecapacity: 0
-  threadname: mifosio-executor-
+  threadname: fineractcn-executor-
 
 system.publicKey:
   modulus: 18127979232651385577366788312577367809882840493309321947218444859734692803519322053118166861938127116063250592470870009582066787630638146674578444578864162263848522570791848618846268461050665448704495233021189752693589550011013299642312910333176350540133789870795905610030842272086304844975800905158104573387446873659409802855678797448220593733004510515015951396676579423158731638742125820984712730134997911206145523653040544527593404472473700394782702820939632486955986794980759384390018112339579933792560176712866026367677322796321647134284719444328549297157384676116482642453484323266505460321391509718183529003027
diff --git a/service/src/test/java/io/mifos/identity/internal/command/handler/AuthenticationCommandHandlerTest.java b/service/src/test/java/org/apache/fineract/cn/identity/internal/command/handler/AuthenticationCommandHandlerTest.java
similarity index 85%
rename from service/src/test/java/io/mifos/identity/internal/command/handler/AuthenticationCommandHandlerTest.java
rename to service/src/test/java/org/apache/fineract/cn/identity/internal/command/handler/AuthenticationCommandHandlerTest.java
index 3cf9c71..93a1d0f 100644
--- a/service/src/test/java/io/mifos/identity/internal/command/handler/AuthenticationCommandHandlerTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/identity/internal/command/handler/AuthenticationCommandHandlerTest.java
@@ -16,23 +16,37 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.identity.internal.command.handler;
+package org.apache.fineract.cn.identity.internal.command.handler;
 
 import com.google.gson.Gson;
-import io.mifos.anubis.provider.TenantRsaKeyProvider;
-import io.mifos.anubis.token.TenantAccessTokenSerializer;
-import io.mifos.anubis.token.TenantRefreshTokenSerializer;
-import io.mifos.anubis.token.TokenDeserializationResult;
-import io.mifos.anubis.token.TokenSerializationResult;
-import io.mifos.core.lang.ApplicationName;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.lang.security.RsaKeyPairFactory;
-import io.mifos.identity.internal.command.AuthenticationCommandResponse;
-import io.mifos.identity.internal.command.PasswordAuthenticationCommand;
-import io.mifos.identity.internal.command.RefreshTokenAuthenticationCommand;
-import io.mifos.identity.internal.repository.*;
-import io.mifos.tool.crypto.HashGenerator;
-import io.mifos.tool.crypto.SaltGenerator;
+import org.apache.fineract.cn.anubis.provider.TenantRsaKeyProvider;
+import org.apache.fineract.cn.anubis.token.TenantAccessTokenSerializer;
+import org.apache.fineract.cn.anubis.token.TenantRefreshTokenSerializer;
+import org.apache.fineract.cn.anubis.token.TokenDeserializationResult;
+import org.apache.fineract.cn.anubis.token.TokenSerializationResult;
+import org.apache.fineract.cn.crypto.HashGenerator;
+import org.apache.fineract.cn.crypto.SaltGenerator;
+import org.apache.fineract.cn.identity.internal.command.AuthenticationCommandResponse;
+import org.apache.fineract.cn.identity.internal.command.PasswordAuthenticationCommand;
+import org.apache.fineract.cn.identity.internal.command.RefreshTokenAuthenticationCommand;
+import org.apache.fineract.cn.identity.internal.repository.AllowedOperationType;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationCallEndpointSets;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissionUsers;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationPermissions;
+import org.apache.fineract.cn.identity.internal.repository.ApplicationSignatures;
+import org.apache.fineract.cn.identity.internal.repository.PermissionType;
+import org.apache.fineract.cn.identity.internal.repository.PermittableGroups;
+import org.apache.fineract.cn.identity.internal.repository.PrivateSignatureEntity;
+import org.apache.fineract.cn.identity.internal.repository.PrivateTenantInfoEntity;
+import org.apache.fineract.cn.identity.internal.repository.RoleEntity;
+import org.apache.fineract.cn.identity.internal.repository.Roles;
+import org.apache.fineract.cn.identity.internal.repository.Signatures;
+import org.apache.fineract.cn.identity.internal.repository.Tenants;
+import org.apache.fineract.cn.identity.internal.repository.UserEntity;
+import org.apache.fineract.cn.identity.internal.repository.Users;
+import org.apache.fineract.cn.lang.ApplicationName;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.apache.fineract.cn.lang.security.RsaKeyPairFactory;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;