You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by GitBox <gi...@apache.org> on 2018/04/16 19:18:15 UTC

[GitHub] myrle-krantz closed pull request #7: Updating package names.

myrle-krantz closed pull request #7: Updating package names.
URL: https://github.com/apache/fineract-cn-portfolio/pull/7
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/README.md b/README.md
index f2ecdc7..6d41c15 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
 # Apache Fineract CN Portfolio
 
-[![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 product and case management for Fineract CN.  Products are described and "instantiated"
 for customers as cases.
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/client/CaseDocumentsManager.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
similarity index 90%
rename from api/src/main/java/io/mifos/individuallending/api/v1/client/CaseDocumentsManager.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
index cfa83a8..b4f3655 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/client/CaseDocumentsManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.client;
+package org.apache.fineract.cn.individuallending.api.v1.client;
 
-import io.mifos.core.api.util.CustomFeignClientsConfiguration;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
 import org.springframework.cloud.netflix.feign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/client/IndividualLending.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
similarity index 84%
rename from api/src/main/java/io/mifos/individuallending/api/v1/client/IndividualLending.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
index de6edd9..1c578e7 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/client/IndividualLending.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
@@ -16,19 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.client;
+package org.apache.fineract.cn.individuallending.api.v1.client;
 
-import io.mifos.core.api.util.CustomFeignClientsConfiguration;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPayment;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionConfiguration;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPayment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionConfiguration;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import java.util.stream.Stream;
+import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
 import org.springframework.cloud.netflix.feign.FeignClient;
 import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.stream.Stream;
+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.RequestParam;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/Balance.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/Balance.java
similarity index 96%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/Balance.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/Balance.java
index 3bd825b..877bfe1 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/Balance.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/Balance.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
 import java.math.BigDecimal;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseCustomerDocuments.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseCustomerDocuments.java
similarity index 97%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseCustomerDocuments.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseCustomerDocuments.java
index c56cfeb..0544d3f 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseCustomerDocuments.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseCustomerDocuments.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseParameters.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseParameters.java
similarity index 92%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseParameters.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseParameters.java
index dc6a8a2..c02164a 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseParameters.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseParameters.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import io.mifos.portfolio.api.v1.domain.PaymentCycle;
-import io.mifos.portfolio.api.v1.domain.TermRange;
-import org.hibernate.validator.constraints.Range;
-import org.hibernate.validator.constraints.ScriptAssert;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Objects;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.Range;
+import org.hibernate.validator.constraints.ScriptAssert;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/ChargeName.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/ChargeName.java
similarity index 96%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/ChargeName.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/ChargeName.java
index 780ec0e..ad658b6 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/ChargeName.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/ChargeName.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactor.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactor.java
similarity index 96%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactor.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactor.java
index f3742a0..4b091b8 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactor.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactor.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.Range;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshot.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshot.java
similarity index 95%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshot.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshot.java
index 0141969..f029c7d 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshot.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshot.java
@@ -16,14 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
-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.lang.validation.constraints.ValidIdentifier;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/PlannedPayment.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/PlannedPayment.java
similarity index 93%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/PlannedPayment.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/PlannedPayment.java
index 481c450..eec764f 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/PlannedPayment.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/PlannedPayment.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
-import io.mifos.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
 
 import java.math.BigDecimal;
 import java.util.Map;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/PlannedPaymentPage.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/PlannedPaymentPage.java
similarity index 97%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/PlannedPaymentPage.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/PlannedPaymentPage.java
index e18c673..0722a40 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/caseinstance/PlannedPaymentPage.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/PlannedPaymentPage.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/AccountDesignators.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/AccountDesignators.java
similarity index 96%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/AccountDesignators.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/AccountDesignators.java
index b7c1953..b93ded6 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/AccountDesignators.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/AccountDesignators.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ChargeIdentifiers.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ChargeIdentifiers.java
similarity index 96%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ChargeIdentifiers.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ChargeIdentifiers.java
index ff35b5f..447c27f 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ChargeIdentifiers.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ChargeIdentifiers.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import java.util.Locale;
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ChargeProportionalDesignator.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ChargeProportionalDesignator.java
similarity index 96%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ChargeProportionalDesignator.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ChargeProportionalDesignator.java
index 63e345e..cb1be47 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ChargeProportionalDesignator.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ChargeProportionalDesignator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import java.util.Arrays;
 import java.util.Optional;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionConfiguration.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionConfiguration.java
similarity index 92%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionConfiguration.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionConfiguration.java
index 18f9480..3f75f38 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionConfiguration.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionConfiguration.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
-import io.mifos.portfolio.api.v1.validation.ValidLossProvisionList;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidLossProvisionList;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionStep.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionStep.java
similarity index 97%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionStep.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionStep.java
index 58b9369..5df38a2 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionStep.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionStep.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import org.hibernate.validator.constraints.Range;
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/Moratorium.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/Moratorium.java
similarity index 97%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/Moratorium.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/Moratorium.java
index 4de92d4..f6161cc 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/Moratorium.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/Moratorium.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import org.hibernate.validator.constraints.Range;
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ProductParameters.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ProductParameters.java
similarity index 97%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ProductParameters.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ProductParameters.java
index 1bc52c1..1cbc3ac 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/product/ProductParameters.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/ProductParameters.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import org.hibernate.validator.constraints.Range;
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/domain/workflow/Action.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/workflow/Action.java
similarity index 95%
rename from api/src/main/java/io/mifos/individuallending/api/v1/domain/workflow/Action.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/workflow/Action.java
index 792343f..225bbcc 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/domain/workflow/Action.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/domain/workflow/Action.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.workflow;
+package org.apache.fineract.cn.individuallending.api.v1.domain.workflow;
 
 /**
  * The ordering of the actions in this enum is used to determine the order in which these actions are executed.
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/events/IndividualLoanCommandEvent.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/events/IndividualLoanCommandEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/individuallending/api/v1/events/IndividualLoanCommandEvent.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/events/IndividualLoanCommandEvent.java
index f90c961..31fe8a3 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/events/IndividualLoanCommandEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/events/IndividualLoanCommandEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.events;
+package org.apache.fineract.cn.individuallending.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/individuallending/api/v1/events/IndividualLoanEventConstants.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/events/IndividualLoanEventConstants.java
similarity index 98%
rename from api/src/main/java/io/mifos/individuallending/api/v1/events/IndividualLoanEventConstants.java
rename to api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/events/IndividualLoanEventConstants.java
index b79c2db..2f2f017 100644
--- a/api/src/main/java/io/mifos/individuallending/api/v1/events/IndividualLoanEventConstants.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/events/IndividualLoanEventConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.events;
+package org.apache.fineract.cn.individuallending.api.v1.events;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/PermittableGroupIds.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/PermittableGroupIds.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/PermittableGroupIds.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/PermittableGroupIds.java
index 145786e..f721951 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/PermittableGroupIds.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/PermittableGroupIds.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1;
+package org.apache.fineract.cn.portfolio.api.v1;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/CaseAlreadyExistsException.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/CaseAlreadyExistsException.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/CaseAlreadyExistsException.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/CaseAlreadyExistsException.java
index d4a6274..2fe9764 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/CaseAlreadyExistsException.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/CaseAlreadyExistsException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
+package org.apache.fineract.cn.portfolio.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/PortfolioManager.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/PortfolioManager.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
index 8efb21e..cc78099 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/PortfolioManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
@@ -16,14 +16,29 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
-
-import io.mifos.core.api.annotation.ThrowsException;
-import io.mifos.core.api.util.CustomFeignClientsConfiguration;
-import io.mifos.portfolio.api.v1.domain.Payment;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.api.v1.validation.ValidSortColumn;
-import io.mifos.portfolio.api.v1.validation.ValidSortDirection;
+package org.apache.fineract.cn.portfolio.api.v1.client;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CaseStatus;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ImportParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ProductPage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidSortColumn;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidSortDirection;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Set;
+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;
@@ -32,10 +47,6 @@
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Set;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/ProductAlreadyExistsException.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductAlreadyExistsException.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/ProductAlreadyExistsException.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductAlreadyExistsException.java
index 05b4be9..3981003 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/ProductAlreadyExistsException.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductAlreadyExistsException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
+package org.apache.fineract.cn.portfolio.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/ProductDefinitionIncomplete.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductDefinitionIncomplete.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/ProductDefinitionIncomplete.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductDefinitionIncomplete.java
index 0703f91..1c5bb70 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/ProductDefinitionIncomplete.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductDefinitionIncomplete.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
+package org.apache.fineract.cn.portfolio.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/ProductInUseException.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductInUseException.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/ProductInUseException.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductInUseException.java
index a7f559b..ab1035f 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/ProductInUseException.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/ProductInUseException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
+package org.apache.fineract.cn.portfolio.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/TaskExecutionBySameUserAsCaseCreation.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/TaskExecutionBySameUserAsCaseCreation.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/TaskExecutionBySameUserAsCaseCreation.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/TaskExecutionBySameUserAsCaseCreation.java
index 71145f3..62a272d 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/TaskExecutionBySameUserAsCaseCreation.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/TaskExecutionBySameUserAsCaseCreation.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
+package org.apache.fineract.cn.portfolio.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/client/TaskOutstanding.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/TaskOutstanding.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/client/TaskOutstanding.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/TaskOutstanding.java
index 7d5e39f..32eb2f6 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/client/TaskOutstanding.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/TaskOutstanding.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.client;
+package org.apache.fineract.cn.portfolio.api.v1.client;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/AccountAssignment.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/AccountAssignment.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/AccountAssignment.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/AccountAssignment.java
index 43c519f..bad54b2 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/AccountAssignment.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/AccountAssignment.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
+import java.util.Objects;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.ScriptAssert;
 
-import javax.annotation.Nullable;
-import java.util.Objects;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/BalanceRange.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceRange.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/BalanceRange.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceRange.java
index 0998cfe..b6cc79c 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/BalanceRange.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceRange.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import org.hibernate.validator.constraints.Range;
 import org.hibernate.validator.constraints.ScriptAssert;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/BalanceSegmentSet.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceSegmentSet.java
similarity index 89%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/BalanceSegmentSet.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceSegmentSet.java
index ecd7788..b31fcc9 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/BalanceSegmentSet.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceSegmentSet.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import io.mifos.core.lang.validation.constraints.ValidIdentifiers;
-import io.mifos.portfolio.api.v1.validation.ValidSegmentList;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidSegmentList;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Objects;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifiers;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Case.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Case.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/Case.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Case.java
index 8a33a90..c07472e 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Case.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Case.java
@@ -16,18 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import io.mifos.portfolio.api.v1.validation.ValidAccountAssignments;
-import org.hibernate.validator.constraints.NotBlank;
-
-import javax.validation.constraints.DecimalMax;
-import javax.validation.constraints.DecimalMin;
-import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidAccountAssignments;
 import java.math.BigDecimal;
 import java.util.Objects;
 import java.util.Set;
+import javax.validation.constraints.DecimalMax;
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.NotBlank;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/CasePage.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CasePage.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/CasePage.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CasePage.java
index 37e7e2e..aada5d5 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/CasePage.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CasePage.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/CaseStatus.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CaseStatus.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/CaseStatus.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CaseStatus.java
index ac0c721..e200fa3 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/CaseStatus.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CaseStatus.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/ChargeDefinition.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ChargeDefinition.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/ChargeDefinition.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ChargeDefinition.java
index 2056df7..ed0f982 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/ChargeDefinition.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ChargeDefinition.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import io.mifos.portfolio.api.v1.validation.ValidChargeDefinition;
-import io.mifos.portfolio.api.v1.validation.ValidChargeReference;
-import io.mifos.portfolio.api.v1.validation.ValidPaymentCycleUnit;
-import org.hibernate.validator.constraints.NotBlank;
-
-import javax.annotation.Nullable;
-import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidChargeReference;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidPaymentCycleUnit;
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.Objects;
+import javax.annotation.Nullable;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.NotBlank;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Command.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Command.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/Command.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Command.java
index b04f8ff..5677277 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Command.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Command.java
@@ -16,16 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidLocalDateTimeString;
-
-import javax.annotation.Nullable;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Objects;
+import javax.annotation.Nullable;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidLocalDateTimeString;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/CostComponent.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CostComponent.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/CostComponent.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CostComponent.java
index 3896822..f00abd5 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/CostComponent.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/CostComponent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.math.BigDecimal;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/ImportParameters.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ImportParameters.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/ImportParameters.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ImportParameters.java
index 3106f97..0e64414 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/ImportParameters.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ImportParameters.java
@@ -16,17 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidLocalDateTimeString;
-
-import javax.annotation.Nullable;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import javax.annotation.Nullable;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidLocalDateTimeString;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/InterestBasis.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestBasis.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/InterestBasis.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestBasis.java
index 8505a18..e26709b 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/InterestBasis.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestBasis.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/InterestRange.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestRange.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/InterestRange.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestRange.java
index c828093..5113669 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/InterestRange.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestRange.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import org.hibernate.validator.constraints.ScriptAssert;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Note.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Note.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/Note.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Note.java
index 274c3db..428af69 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Note.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Note.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Pattern.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Pattern.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/Pattern.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Pattern.java
index b215695..ed21a4d 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Pattern.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Pattern.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.Objects;
 import java.util.Set;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Payment.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Payment.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/Payment.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Payment.java
index 9523a2f..16dd355 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Payment.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Payment.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import javax.annotation.Nullable;
 import java.math.BigDecimal;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/PaymentCycle.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/PaymentCycle.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/PaymentCycle.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/PaymentCycle.java
index b0d2a14..bcc60ba 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/PaymentCycle.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/PaymentCycle.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.portfolio.api.v1.validation.ValidPaymentCycleUnit;
-import io.mifos.portfolio.api.v1.validation.ValidWeek;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidPaymentCycleUnit;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidWeek;
 import org.hibernate.validator.constraints.Range;
 
 import javax.annotation.Nullable;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Product.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Product.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/Product.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Product.java
index 79ff2bf..b50ad5c 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/Product.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/Product.java
@@ -16,18 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.portfolio.api.v1.validation.ValidAccountAssignments;
-import io.mifos.portfolio.api.v1.validation.ValidCurrencyCode;
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import org.hibernate.validator.constraints.Length;
-import org.hibernate.validator.constraints.Range;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidAccountAssignments;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidCurrencyCode;
 import java.util.Objects;
 import java.util.Set;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.Length;
+import org.hibernate.validator.constraints.Range;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/ProductPage.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ProductPage.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/ProductPage.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ProductPage.java
index 6de9b09..28d377d 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/ProductPage.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/ProductPage.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/RequiredAccountAssignment.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/RequiredAccountAssignment.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/RequiredAccountAssignment.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/RequiredAccountAssignment.java
index 34dc1fb..9a6f881 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/RequiredAccountAssignment.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/RequiredAccountAssignment.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import javax.annotation.Nullable;
 import java.util.Objects;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/TaskDefinition.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskDefinition.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/TaskDefinition.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskDefinition.java
index b8fa7be..be80aaa 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/TaskDefinition.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskDefinition.java
@@ -16,14 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import org.hibernate.validator.constraints.NotBlank;
-
-import javax.validation.constraints.NotNull;
 import java.util.Objects;
 import java.util.Set;
+import javax.validation.constraints.NotNull;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.NotBlank;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/TaskInstance.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskInstance.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/TaskInstance.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskInstance.java
index 9d0961a..0a90ae6 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/TaskInstance.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskInstance.java
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import org.hibernate.validator.constraints.Length;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.Objects;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.Length;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/domain/TermRange.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TermRange.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/domain/TermRange.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TermRange.java
index 9057d69..4c05fd7 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/domain/TermRange.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/domain/TermRange.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import org.hibernate.validator.constraints.Range;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/events/BalanceSegmentSetEvent.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/BalanceSegmentSetEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/events/BalanceSegmentSetEvent.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/BalanceSegmentSetEvent.java
index c6a090a..9314ae7 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/events/BalanceSegmentSetEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/BalanceSegmentSetEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.events;
+package org.apache.fineract.cn.portfolio.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/events/CaseEvent.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/CaseEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/events/CaseEvent.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/CaseEvent.java
index eb0f09d..cd03776 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/events/CaseEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/CaseEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.events;
+package org.apache.fineract.cn.portfolio.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/events/ChargeDefinitionEvent.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/ChargeDefinitionEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/events/ChargeDefinitionEvent.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/ChargeDefinitionEvent.java
index 428fc73..66a34be 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/events/ChargeDefinitionEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/ChargeDefinitionEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.events;
+package org.apache.fineract.cn.portfolio.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/events/EventConstants.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/EventConstants.java
similarity index 98%
rename from api/src/main/java/io/mifos/portfolio/api/v1/events/EventConstants.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/EventConstants.java
index f490a10..d6c18cb 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/events/EventConstants.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/EventConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.events;
+package org.apache.fineract.cn.portfolio.api.v1.events;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/events/TaskDefinitionEvent.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/TaskDefinitionEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/events/TaskDefinitionEvent.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/TaskDefinitionEvent.java
index c0f26dd..4950478 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/events/TaskDefinitionEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/TaskDefinitionEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.events;
+package org.apache.fineract.cn.portfolio.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/events/TaskInstanceEvent.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/TaskInstanceEvent.java
similarity index 97%
rename from api/src/main/java/io/mifos/portfolio/api/v1/events/TaskInstanceEvent.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/TaskInstanceEvent.java
index 52e5e8e..d796b1a 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/events/TaskInstanceEvent.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/events/TaskInstanceEvent.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.events;
+package org.apache.fineract.cn.portfolio.api.v1.events;
 
 import java.util.Objects;
 
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckAccountAssignments.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckAccountAssignments.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckAccountAssignments.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckAccountAssignments.java
index 3c5dea4..12b4d05 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckAccountAssignments.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckAccountAssignments.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
 
 import javax.validation.*;
 import java.util.HashSet;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckChargeReference.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckChargeReference.java
similarity index 86%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckChargeReference.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckChargeReference.java
index 424797c..9e72d58 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckChargeReference.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckChargeReference.java
@@ -16,13 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
-
-import io.mifos.core.lang.validation.CheckIdentifier;
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
+import org.apache.fineract.cn.lang.validation.CheckIdentifier;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckCurrencyCode.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckCurrencyCode.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckCurrencyCode.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckCurrencyCode.java
index aee092a..4e73f41 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckCurrencyCode.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckCurrencyCode.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckPaymentCycleUnit.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckPaymentCycleUnit.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckPaymentCycleUnit.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckPaymentCycleUnit.java
index 65ec26a..fae6276 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckPaymentCycleUnit.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckPaymentCycleUnit.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidChargeDefinition.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidChargeDefinition.java
similarity index 94%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidChargeDefinition.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidChargeDefinition.java
index 712a4ff..d8de93c 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidChargeDefinition.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidChargeDefinition.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidLossProvisionList.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidLossProvisionList.java
similarity index 92%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidLossProvisionList.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidLossProvisionList.java
index f2b5bb3..73837eb 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidLossProvisionList.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidLossProvisionList.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSegmentList.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSegmentList.java
similarity index 93%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSegmentList.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSegmentList.java
index 636715a..95a934c 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSegmentList.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSegmentList.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSortColumn.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSortColumn.java
similarity index 96%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSortColumn.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSortColumn.java
index 684ea5d..0203ce3 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSortColumn.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSortColumn.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSortDirection.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSortDirection.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSortDirection.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSortDirection.java
index 0b42b31..f0710f4 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidSortDirection.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidSortDirection.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidWeek.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidWeek.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidWeek.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidWeek.java
index 8672152..2b188c5 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/CheckValidWeek.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/CheckValidWeek.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.ConstraintValidator;
 import javax.validation.ConstraintValidatorContext;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidAccountAssignments.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidAccountAssignments.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidAccountAssignments.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidAccountAssignments.java
index 5d9bbaa..acca7c3 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidAccountAssignments.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidAccountAssignments.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidChargeDefinition.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidChargeDefinition.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidChargeDefinition.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidChargeDefinition.java
index bc2c3eb..cab14aa 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidChargeDefinition.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidChargeDefinition.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidChargeReference.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidChargeReference.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidChargeReference.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidChargeReference.java
index 3ce7082..112e066 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidChargeReference.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidChargeReference.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidCurrencyCode.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidCurrencyCode.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidCurrencyCode.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidCurrencyCode.java
index 983b8db..1f982c2 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidCurrencyCode.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidCurrencyCode.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 
 import javax.validation.Constraint;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidLossProvisionList.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidLossProvisionList.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidLossProvisionList.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidLossProvisionList.java
index adf9f71..6cf5072 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidLossProvisionList.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidLossProvisionList.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidPaymentCycleUnit.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidPaymentCycleUnit.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidPaymentCycleUnit.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidPaymentCycleUnit.java
index 541e62d..d8ce03b 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidPaymentCycleUnit.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidPaymentCycleUnit.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSegmentList.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSegmentList.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSegmentList.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSegmentList.java
index 719e54e..b5c11e5 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSegmentList.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSegmentList.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSortColumn.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSortColumn.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSortColumn.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSortColumn.java
index 7ae0569..5b698de 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSortColumn.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSortColumn.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSortDirection.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSortDirection.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSortDirection.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSortDirection.java
index 9d1edbe..ae044c1 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidSortDirection.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidSortDirection.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidWeek.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidWeek.java
similarity index 95%
rename from api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidWeek.java
rename to api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidWeek.java
index c6be97e..8134b22 100644
--- a/api/src/main/java/io/mifos/portfolio/api/v1/validation/ValidWeek.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/validation/ValidWeek.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.validation;
+package org.apache.fineract.cn.portfolio.api.v1.validation;
 
 import javax.validation.Constraint;
 import javax.validation.Payload;
diff --git a/api/src/test/java/io/mifos/Fixture.java b/api/src/test/java/org/apache/fineract/cn/Fixture.java
similarity index 91%
rename from api/src/test/java/io/mifos/Fixture.java
rename to api/src/test/java/org/apache/fineract/cn/Fixture.java
index 50a2d73..a68c0a7 100644
--- a/api/src/test/java/io/mifos/Fixture.java
+++ b/api/src/test/java/org/apache/fineract/cn/Fixture.java
@@ -16,21 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos;
+package org.apache.fineract.cn;
 
 import com.google.gson.Gson;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
-import io.mifos.individuallending.api.v1.domain.product.ProductParameters;
-import io.mifos.portfolio.api.v1.domain.*;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ProductParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.*;
 
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.function.Consumer;
 
-import static io.mifos.individuallending.api.v1.domain.product.AccountDesignators.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators.*;
 import static java.math.BigDecimal.ROUND_HALF_EVEN;
 
 /**
@@ -46,7 +46,7 @@
 
   static public Product getTestProduct() {
     final Product product = new Product();
-    product.setPatternPackage("io.mifos.individuallending.api.v1");
+    product.setPatternPackage("org.apache.fineract.cn.individuallending.api.v1");
     product.setIdentifier(generateUniqueIdentifer("agro"));
     product.setName("Agricultural Loan");
     product.setDescription("Loan for seeds or agricultural equipment");
diff --git a/api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseParametersTest.java b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseParametersTest.java
similarity index 90%
rename from api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseParametersTest.java
rename to api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseParametersTest.java
index 35e6e1a..23744b9 100644
--- a/api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CaseParametersTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CaseParametersTest.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
-
-import io.mifos.Fixture;
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.portfolio.api.v1.domain.TermRange;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
+import org.apache.fineract.cn.Fixture;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
+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;
 
 
 /**
diff --git a/api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactorTest.java b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactorTest.java
similarity index 92%
rename from api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactorTest.java
rename to api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactorTest.java
index 0c3c89e..c4508c9 100644
--- a/api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactorTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessFactorTest.java
@@ -16,17 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.apache.commons.lang.RandomStringUtils;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.commons.lang.RandomStringUtils;
+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/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshotTest.java b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshotTest.java
similarity index 94%
rename from api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshotTest.java
rename to api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshotTest.java
index 1a8354e..b949b59 100644
--- a/api/src/test/java/io/mifos/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshotTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/caseinstance/CreditWorthinessSnapshotTest.java
@@ -16,17 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.caseinstance;
-
-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.individuallending.api.v1.domain.caseinstance;
 
 import java.math.BigDecimal;
 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;
 
 
 /**
diff --git a/api/src/test/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionConfigurationTest.java b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionConfigurationTest.java
similarity index 93%
rename from api/src/test/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionConfigurationTest.java
rename to api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionConfigurationTest.java
index 0d41ebb..9bd1bda 100644
--- a/api/src/test/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionConfigurationTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionConfigurationTest.java
@@ -16,17 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 public class LossProvisionConfigurationTest extends ValidationTest<LossProvisionConfiguration> {
 
diff --git a/api/src/test/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionStepTest.java b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionStepTest.java
similarity index 93%
rename from api/src/test/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionStepTest.java
rename to api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionStepTest.java
index 76ca159..6f64d87 100644
--- a/api/src/test/java/io/mifos/individuallending/api/v1/domain/product/LossProvisionStepTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/individuallending/api/v1/domain/product/LossProvisionStepTest.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.api.v1.domain.product;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.individuallending.api.v1.domain.product;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 public class LossProvisionStepTest extends ValidationTest<LossProvisionStep> {
 
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/AccountAssignmentTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/AccountAssignmentTest.java
similarity index 93%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/AccountAssignmentTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/AccountAssignmentTest.java
index 16ac1bb..10e6f72 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/AccountAssignmentTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/AccountAssignmentTest.java
@@ -16,14 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/BalanceRangeTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceRangeTest.java
similarity index 94%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/BalanceRangeTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceRangeTest.java
index ca14a11..8799f16 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/BalanceRangeTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceRangeTest.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/BalanceSegmentSetTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceSegmentSetTest.java
similarity index 92%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/BalanceSegmentSetTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceSegmentSetTest.java
index b84adbe..cb58a8b 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/BalanceSegmentSetTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/BalanceSegmentSetTest.java
@@ -16,14 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/CaseTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/CaseTest.java
similarity index 92%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/CaseTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/CaseTest.java
index 5d0da5a..7b7ba7e 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/CaseTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/CaseTest.java
@@ -16,17 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.Fixture;
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.apache.commons.lang.RandomStringUtils;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
+import org.apache.fineract.cn.Fixture;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/ChargeDefinitionTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ChargeDefinitionTest.java
similarity index 96%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/ChargeDefinitionTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ChargeDefinitionTest.java
index 6c71e2c..1034953 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/ChargeDefinitionTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ChargeDefinitionTest.java
@@ -16,18 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import org.apache.commons.lang.RandomStringUtils;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/CommandTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/CommandTest.java
similarity index 87%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/CommandTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/CommandTest.java
index d1e6fc5..857400e 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/CommandTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/CommandTest.java
@@ -16,21 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.PROCESSING_FEE_ID;
 
 import java.time.Clock;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.PROCESSING_FEE_ID;
+import org.apache.fineract.cn.lang.DateConverter;
+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/portfolio/api/v1/domain/ImportParametersTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ImportParametersTest.java
similarity index 85%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/ImportParametersTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ImportParametersTest.java
index eb55f77..18b85eb 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/ImportParametersTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ImportParametersTest.java
@@ -16,23 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.PROCESSING_FEE_ID;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
 import java.math.BigDecimal;
 import java.time.Clock;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.PROCESSING_FEE_ID;
+import org.apache.fineract.cn.lang.DateConverter;
+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/portfolio/api/v1/domain/InterestRangeTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestRangeTest.java
similarity index 94%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/InterestRangeTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestRangeTest.java
index e5a2ad3..4e05d70 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/InterestRangeTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/InterestRangeTest.java
@@ -16,16 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.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.portfolio.api.v1.domain;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
+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/portfolio/api/v1/domain/PaymentCycleTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/PaymentCycleTest.java
similarity index 92%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/PaymentCycleTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/PaymentCycleTest.java
index b60e77b..b11ced9 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/PaymentCycleTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/PaymentCycleTest.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/ProductTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ProductTest.java
similarity index 96%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/ProductTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ProductTest.java
index 24c2051..853f81f 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/ProductTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/ProductTest.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.Fixture;
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.StringUtils;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
+import org.apache.fineract.cn.Fixture;
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/TaskDefinitionTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskDefinitionTest.java
similarity index 90%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/TaskDefinitionTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskDefinitionTest.java
index b2e4b77..112ba57 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/TaskDefinitionTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskDefinitionTest.java
@@ -16,16 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.Fixture;
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
+import org.apache.fineract.cn.Fixture;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/api/src/test/java/io/mifos/portfolio/api/v1/domain/TaskInstanceTest.java b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskInstanceTest.java
similarity index 92%
rename from api/src/test/java/io/mifos/portfolio/api/v1/domain/TaskInstanceTest.java
rename to api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskInstanceTest.java
index f95c086..f62d1f4 100644
--- a/api/src/test/java/io/mifos/portfolio/api/v1/domain/TaskInstanceTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/portfolio/api/v1/domain/TaskInstanceTest.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.apache.commons.lang.RandomStringUtils;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.portfolio.api.v1.domain;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/AbstractPortfolioTest.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
similarity index 83%
rename from component-test/src/main/java/io/mifos/portfolio/AbstractPortfolioTest.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
index 13a4acb..d237f64 100644
--- a/component-test/src/main/java/io/mifos/portfolio/AbstractPortfolioTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
@@ -16,28 +16,58 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
-
-import io.mifos.accounting.api.v1.client.LedgerManager;
-import io.mifos.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.test.fixture.TenantDataStoreContextTestRule;
-import io.mifos.core.test.listener.EnableEventRecording;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.customer.api.v1.client.CustomerManager;
-import io.mifos.individuallending.api.v1.client.CaseDocumentsManager;
-import io.mifos.individuallending.api.v1.client.IndividualLending;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.api.v1.events.IndividualLoanCommandEvent;
-import io.mifos.portfolio.api.v1.client.PortfolioManager;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.api.v1.events.*;
-import io.mifos.portfolio.service.config.PortfolioServiceConfiguration;
-import io.mifos.portfolio.service.internal.util.AccountingListener;
-import io.mifos.portfolio.service.internal.util.RhythmAdapter;
-import org.junit.*;
+package org.apache.fineract.cn.portfolio;
+
+import org.apache.fineract.cn.individuallending.api.v1.client.CaseDocumentsManager;
+import org.apache.fineract.cn.individuallending.api.v1.client.IndividualLending;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanCommandEvent;
+import org.apache.fineract.cn.portfolio.api.v1.client.PortfolioManager;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.ChargeDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskInstanceEvent;
+import org.apache.fineract.cn.portfolio.service.config.PortfolioServiceConfiguration;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingListener;
+import org.apache.fineract.cn.portfolio.service.internal.util.RhythmAdapter;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+import javax.validation.ConstraintViolation;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerManager;
+import org.apache.fineract.cn.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.customer.api.v1.client.CustomerManager;
+import org.apache.fineract.cn.lang.DateConverter;
+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.Before;
+import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.slf4j.Logger;
@@ -55,18 +85,6 @@
 import org.springframework.context.annotation.Import;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.time.temporal.ChronoUnit;
-import java.util.*;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
 /**
  * @author Myrle Krantz
  */
@@ -80,10 +98,11 @@
 
   @Configuration
   @EnableEventRecording
-  @EnableFeignClients(basePackages = {"io.mifos.portfolio.api.v1", "io.mifos.individuallending.api.v1"})
+  @EnableFeignClients(basePackages = {"org.apache.fineract.cn.portfolio.api.v1",
+      "org.apache.fineract.cn.individuallending.api.v1"})
   @RibbonClient(name = APP_NAME)
   @Import({PortfolioServiceConfiguration.class})
-  @ComponentScan("io.mifos.portfolio.listener")
+  @ComponentScan("org.apache.fineract.cn.portfolio.listener")
   public static class TestConfiguration {
     public TestConfiguration() {
       super();
diff --git a/component-test/src/main/java/io/mifos/portfolio/AccountingFixture.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AccountingFixture.java
similarity index 96%
rename from component-test/src/main/java/io/mifos/portfolio/AccountingFixture.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/AccountingFixture.java
index a81bb18..e028384 100644
--- a/component-test/src/main/java/io/mifos/portfolio/AccountingFixture.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AccountingFixture.java
@@ -16,15 +16,40 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
-
-import io.mifos.accounting.api.v1.client.LedgerManager;
-import io.mifos.accounting.api.v1.domain.*;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.lang.TenantContextHolder;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.service.internal.util.AccountingListener;
+package org.apache.fineract.cn.portfolio;
+
+import static org.mockito.Matchers.argThat;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingListener;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
+import javax.annotation.Nullable;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerManager;
+import org.apache.fineract.cn.accounting.api.v1.domain.Account;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountEntry;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountPage;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountType;
+import org.apache.fineract.cn.accounting.api.v1.domain.Creditor;
+import org.apache.fineract.cn.accounting.api.v1.domain.Debtor;
+import org.apache.fineract.cn.accounting.api.v1.domain.JournalEntry;
+import org.apache.fineract.cn.accounting.api.v1.domain.Ledger;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.apache.fineract.cn.lang.TenantContextHolder;
 import org.hamcrest.Description;
 import org.junit.Assert;
 import org.mockito.AdditionalMatchers;
@@ -34,18 +59,6 @@
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-import javax.annotation.Nullable;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-import java.util.stream.Stream;
-
-import static org.mockito.Matchers.argThat;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/component-test/src/main/java/io/mifos/portfolio/Fixture.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/Fixture.java
similarity index 91%
rename from component-test/src/main/java/io/mifos/portfolio/Fixture.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/Fixture.java
index c11a457..7d7e3b6 100644
--- a/component-test/src/main/java/io/mifos/portfolio/Fixture.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/Fixture.java
@@ -16,23 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
 import com.google.gson.Gson;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ProductParameters;
-import io.mifos.portfolio.api.v1.domain.*;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ProductParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.*;
 
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.function.Consumer;
 
-import static io.mifos.individuallending.api.v1.domain.product.AccountDesignators.*;
-import static io.mifos.portfolio.AccountingFixture.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators.*;
+import static org.apache.fineract.cn.portfolio.AccountingFixture.*;
 import static java.math.BigDecimal.ROUND_HALF_EVEN;
 
 /**
@@ -50,7 +50,7 @@
 
   static public Product getTestProduct() {
     final Product product = new Product();
-    product.setPatternPackage("io.mifos.individuallending.api.v1");
+    product.setPatternPackage("org.apache.fineract.cn.individuallending.api.v1");
     product.setIdentifier(generateUniqueIdentifer("agro"));
     product.setName("Agricultural Loan");
     product.setDescription("Loan for seeds or agricultural equipment");
diff --git a/component-test/src/main/java/io/mifos/portfolio/SuiteTestEnvironment.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/SuiteTestEnvironment.java
similarity index 86%
rename from component-test/src/main/java/io/mifos/portfolio/SuiteTestEnvironment.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/SuiteTestEnvironment.java
index 67a707d..ecd7f99 100644
--- a/component-test/src/main/java/io/mifos/portfolio/SuiteTestEnvironment.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/SuiteTestEnvironment.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.core.test.fixture.cassandra.CassandraInitializer;
-import io.mifos.core.test.fixture.mariadb.MariaDBInitializer;
+import org.apache.fineract.cn.test.env.TestEnvironment;
+import org.apache.fineract.cn.test.fixture.cassandra.CassandraInitializer;
+import org.apache.fineract.cn.test.fixture.mariadb.MariaDBInitializer;
 import org.junit.ClassRule;
 import org.junit.rules.RuleChain;
-import org.junit.rules.TestRule;
 import org.junit.rules.RunExternalResourceOnce;
+import org.junit.rules.TestRule;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestAccountingInteractionInLoanWorkflow.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestAccountingInteractionInLoanWorkflow.java
similarity index 95%
rename from component-test/src/main/java/io/mifos/portfolio/TestAccountingInteractionInLoanWorkflow.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestAccountingInteractionInLoanWorkflow.java
index 1ce881f..5ccbe30 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestAccountingInteractionInLoanWorkflow.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestAccountingInteractionInLoanWorkflow.java
@@ -16,43 +16,62 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import com.google.gson.Gson;
-import io.mifos.accounting.api.v1.domain.AccountType;
-import io.mifos.accounting.api.v1.domain.Creditor;
-import io.mifos.accounting.api.v1.domain.Debtor;
-import io.mifos.core.api.util.ApiFactory;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPayment;
-import io.mifos.individuallending.api.v1.domain.product.*;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.api.v1.events.IndividualLoanCommandEvent;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.api.v1.events.BalanceSegmentSetEvent;
-import io.mifos.portfolio.api.v1.events.ChargeDefinitionEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.rhythm.spi.v1.client.BeatListener;
-import io.mifos.rhythm.spi.v1.domain.BeatPublish;
-import io.mifos.rhythm.spi.v1.events.BeatPublishEvent;
-import org.assertj.core.util.Sets;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import static org.apache.fineract.cn.portfolio.Fixture.MINOR_CURRENCY_UNIT_DIGITS;
 
-import javax.annotation.Nullable;
+import com.google.gson.Gson;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPayment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionConfiguration;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanCommandEvent;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CaseStatus;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ImportParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.events.BalanceSegmentSetEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.ChargeDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import java.util.stream.Stream;
-
-import static io.mifos.portfolio.Fixture.MINOR_CURRENCY_UNIT_DIGITS;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountType;
+import org.apache.fineract.cn.accounting.api.v1.domain.Creditor;
+import org.apache.fineract.cn.accounting.api.v1.domain.Debtor;
+import org.apache.fineract.cn.api.util.ApiFactory;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.apache.fineract.cn.rhythm.spi.v1.client.BeatListener;
+import org.apache.fineract.cn.rhythm.spi.v1.domain.BeatPublish;
+import org.apache.fineract.cn.rhythm.spi.v1.events.BeatPublishEvent;
+import org.assertj.core.util.Sets;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
@@ -138,7 +157,8 @@ public void workflowImportingLoanFromExternalSystem() throws InterruptedExceptio
       week++;
     }
 
-    step8Close(DateConverter.fromIsoString(plannedPayments.get(plannedPayments.size()-1).getPayment().getDate()));
+    step8Close(DateConverter
+        .fromIsoString(plannedPayments.get(plannedPayments.size()-1).getPayment().getDate()));
   }
 
 
@@ -985,7 +1005,7 @@ private void step6CalculateInterestAccrualAndCheckForLateness(
     }
     final BeatPublish interestBeat = new BeatPublish(beatIdentifier, midnightTimeStamp);
     portfolioBeatListener.publishBeat(interestBeat);
-    Assert.assertTrue(this.eventRecorder.wait(io.mifos.rhythm.spi.v1.events.EventConstants.POST_PUBLISHEDBEAT,
+    Assert.assertTrue(this.eventRecorder.wait(org.apache.fineract.cn.rhythm.spi.v1.events.EventConstants.POST_PUBLISHEDBEAT,
         new BeatPublishEvent(EventConstants.DESTINATION, beatIdentifier, midnightTimeStamp)));
 
     Assert.assertTrue(this.eventRecorder.wait(IndividualLoanEventConstants.CHECK_LATE_INDIVIDUALLOAN_CASE,
@@ -1129,7 +1149,7 @@ private void step6ICalculateInterestAndLossAllowancesForLateLoan(
 
     final BeatPublish interestBeat = new BeatPublish(beatIdentifier, midnightTimeStamp);
     portfolioBeatListener.publishBeat(interestBeat);
-    Assert.assertTrue(this.eventRecorder.wait(io.mifos.rhythm.spi.v1.events.EventConstants.POST_PUBLISHEDBEAT,
+    Assert.assertTrue(this.eventRecorder.wait(org.apache.fineract.cn.rhythm.spi.v1.events.EventConstants.POST_PUBLISHEDBEAT,
         new BeatPublishEvent(EventConstants.DESTINATION, beatIdentifier, midnightTimeStamp)));
 
     Assert.assertTrue(this.eventRecorder.wait(IndividualLoanEventConstants.CHECK_LATE_INDIVIDUALLOAN_CASE,
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestBalanceSegmentSets.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestBalanceSegmentSets.java
similarity index 92%
rename from component-test/src/main/java/io/mifos/portfolio/TestBalanceSegmentSets.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestBalanceSegmentSets.java
index 3396610..8e52140 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestBalanceSegmentSets.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestBalanceSegmentSets.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import io.mifos.portfolio.api.v1.client.ProductInUseException;
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.events.BalanceSegmentSetEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.client.ProductInUseException;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.events.BalanceSegmentSetEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestCaseDocuments.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCaseDocuments.java
similarity index 88%
rename from component-test/src/main/java/io/mifos/portfolio/TestCaseDocuments.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCaseDocuments.java
index a93103b..24a78bf 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestCaseDocuments.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCaseDocuments.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestCases.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCases.java
similarity index 92%
rename from component-test/src/main/java/io/mifos/portfolio/TestCases.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCases.java
index 961385e..ac0fcca 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestCases.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCases.java
@@ -16,30 +16,33 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
 import com.google.gson.Gson;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.test.domain.TimeStampChecker;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CasePage;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mockito;
-
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.test.domain.TimeStampChecker;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.Mockito;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestChargeDefinitions.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestChargeDefinitions.java
similarity index 92%
rename from component-test/src/main/java/io/mifos/portfolio/TestChargeDefinitions.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestChargeDefinitions.java
index 10ec53f..c4fae13 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestChargeDefinitions.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestChargeDefinitions.java
@@ -16,25 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
-
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.events.ChargeDefinitionEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import org.junit.Assert;
-import org.junit.Test;
-
+package org.apache.fineract.cn.portfolio;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.events.ChargeDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestCommands.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCommands.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/portfolio/TestCommands.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCommands.java
index 32fcc82..690104e 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestCommands.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestCommands.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
 import org.junit.Test;
 
 import java.time.Clock;
 import java.time.LocalDateTime;
 
-import static io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants.*;
+import static org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants.*;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestIndividualLoans.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestIndividualLoans.java
similarity index 88%
rename from component-test/src/main/java/io/mifos/portfolio/TestIndividualLoans.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestIndividualLoans.java
index b52de77..265cde0 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestIndividualLoans.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestIndividualLoans.java
@@ -16,27 +16,26 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
 import com.google.gson.Gson;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CasePage;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.individuallending.api.v1.client.IndividualLending;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mockito;
-
+import org.apache.fineract.cn.individuallending.api.v1.client.IndividualLending;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
 import java.time.Clock;
 import java.time.LocalDateTime;
 import java.util.HashSet;
 import java.util.Set;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.Mockito;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestLossProvisionSteps.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestLossProvisionSteps.java
similarity index 91%
rename from component-test/src/main/java/io/mifos/portfolio/TestLossProvisionSteps.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestLossProvisionSteps.java
index e2f7e30..c97c8ea 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestLossProvisionSteps.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestLossProvisionSteps.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionConfiguration;
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionStep;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionConfiguration;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestPatterns.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestPatterns.java
similarity index 91%
rename from component-test/src/main/java/io/mifos/portfolio/TestPatterns.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestPatterns.java
index 6935a6a..88010c6 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestPatterns.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestPatterns.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
-import io.mifos.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestProducts.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestProducts.java
similarity index 91%
rename from component-test/src/main/java/io/mifos/portfolio/TestProducts.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestProducts.java
index 0903846..083d7ff 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestProducts.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestProducts.java
@@ -16,23 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
 import com.google.gson.Gson;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.test.domain.TimeStampChecker;
-import io.mifos.individuallending.api.v1.domain.product.ProductParameters;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.client.ProductAlreadyExistsException;
-import io.mifos.portfolio.api.v1.client.ProductDefinitionIncomplete;
-import io.mifos.portfolio.api.v1.client.ProductInUseException;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.api.v1.events.ChargeDefinitionEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import org.apache.commons.lang.StringUtils;
-import org.junit.Assert;
-import org.junit.Test;
-
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ProductParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.client.ProductAlreadyExistsException;
+import org.apache.fineract.cn.portfolio.api.v1.client.ProductDefinitionIncomplete;
+import org.apache.fineract.cn.portfolio.api.v1.client.ProductInUseException;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceRange;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.InterestBasis;
+import org.apache.fineract.cn.portfolio.api.v1.domain.InterestRange;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ProductPage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
+import org.apache.fineract.cn.portfolio.api.v1.events.ChargeDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
 import java.math.BigDecimal;
 import java.time.temporal.ChronoUnit;
 import java.util.Collections;
@@ -40,6 +41,11 @@
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
+import org.apache.commons.lang.StringUtils;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.apache.fineract.cn.test.domain.TimeStampChecker;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
@@ -340,7 +346,7 @@ public void shouldDeleteProduct() throws InterruptedException {
   private Product getTestProductWithMaximumLengthEverything()
   {
     final Product product = new Product();
-    product.setPatternPackage("io.mifos.individuallending.api.v1");
+    product.setPatternPackage("org.apache.fineract.cn.individuallending.api.v1");
     product.setIdentifier(StringUtils.repeat("x", 8));
     product.setName(StringUtils.repeat("x", 256));
     product.setDescription(StringUtils.repeat("x", 4096));
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestSuite.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestSuite.java
similarity index 97%
rename from component-test/src/main/java/io/mifos/portfolio/TestSuite.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestSuite.java
index 3e83894..5c5782e 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestSuite.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestSuite.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
+package org.apache.fineract.cn.portfolio;
 
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestTaskDefinitions.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestTaskDefinitions.java
similarity index 92%
rename from component-test/src/main/java/io/mifos/portfolio/TestTaskDefinitions.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestTaskDefinitions.java
index d073db9..763109c 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestTaskDefinitions.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestTaskDefinitions.java
@@ -16,18 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
-
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.portfolio.api.v1.client.ProductInUseException;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.api.v1.events.TaskDefinitionEvent;
-import org.junit.Assert;
-import org.junit.Test;
+package org.apache.fineract.cn.portfolio;
 
+import org.apache.fineract.cn.portfolio.api.v1.client.ProductInUseException;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskDefinitionEvent;
 import java.util.List;
+import org.apache.fineract.cn.api.util.NotFoundException;
+import org.junit.Assert;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/TestTaskInstances.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestTaskInstances.java
similarity index 89%
rename from component-test/src/main/java/io/mifos/portfolio/TestTaskInstances.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/TestTaskInstances.java
index 09235d3..e8d309c 100644
--- a/component-test/src/main/java/io/mifos/portfolio/TestTaskInstances.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/TestTaskInstances.java
@@ -16,30 +16,29 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio;
-
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.api.util.NotFoundException;
-import io.mifos.core.test.domain.TimeStampChecker;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.portfolio.api.v1.client.TaskExecutionBySameUserAsCaseCreation;
-import io.mifos.portfolio.api.v1.client.TaskOutstanding;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.api.v1.domain.TaskInstance;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.api.v1.events.TaskDefinitionEvent;
-import io.mifos.portfolio.api.v1.events.TaskInstanceEvent;
-import org.junit.Assert;
-import org.junit.Test;
-
+package org.apache.fineract.cn.portfolio;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.client.TaskExecutionBySameUserAsCaseCreation;
+import org.apache.fineract.cn.portfolio.api.v1.client.TaskOutstanding;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskInstanceEvent;
 import java.time.Clock;
 import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+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.junit.Assert;
+import org.junit.Test;
 
 /**
  * @author Myrle Krantz
diff --git a/component-test/src/main/java/io/mifos/portfolio/listener/BalanceSegmentSetEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/BalanceSegmentSetEventListener.java
similarity index 89%
rename from component-test/src/main/java/io/mifos/portfolio/listener/BalanceSegmentSetEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/BalanceSegmentSetEventListener.java
index 5116a85..67744f4 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/BalanceSegmentSetEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/BalanceSegmentSetEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.portfolio.api.v1.events.BalanceSegmentSetEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.BalanceSegmentSetEvent;
+import org.apache.fineract.cn.portfolio.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/io/mifos/portfolio/listener/BeatPublishEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/BeatPublishEventListener.java
similarity index 77%
rename from component-test/src/main/java/io/mifos/portfolio/listener/BeatPublishEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/BeatPublishEventListener.java
index 00624c6..8c0a2f5 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/BeatPublishEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/BeatPublishEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.rhythm.spi.v1.events.EventConstants;
-import io.mifos.rhythm.spi.v1.events.BeatPublishEvent;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.rhythm.spi.v1.events.BeatPublishEvent;
+import org.apache.fineract.cn.rhythm.spi.v1.events.EventConstants;
+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;
@@ -42,8 +42,8 @@ public BeatPublishEventListener(final EventRecorder eventRecorder) {
   }
 
   @JmsListener(
-      subscription = io.mifos.portfolio.api.v1.events.EventConstants.DESTINATION,
-      destination = io.mifos.portfolio.api.v1.events.EventConstants.DESTINATION,
+      subscription = org.apache.fineract.cn.portfolio.api.v1.events.EventConstants.DESTINATION,
+      destination = org.apache.fineract.cn.portfolio.api.v1.events.EventConstants.DESTINATION,
       selector = EventConstants.SELECTOR_POST_PUBLISHEDBEAT
   )
   public void onPublishBeat(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
diff --git a/component-test/src/main/java/io/mifos/portfolio/listener/CaseDocumentsListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/CaseDocumentsListener.java
similarity index 84%
rename from component-test/src/main/java/io/mifos/portfolio/listener/CaseDocumentsListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/CaseDocumentsListener.java
index 2b9b2e2..ebcd617 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/CaseDocumentsListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/CaseDocumentsListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+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/io/mifos/portfolio/listener/CaseEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/CaseEventListener.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/portfolio/listener/CaseEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/CaseEventListener.java
index fe31151..c568651 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/CaseEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/CaseEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.portfolio.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/io/mifos/portfolio/listener/IndividualLoanCaseCommandEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/IndividualLoanCaseCommandEventListener.java
similarity index 95%
rename from component-test/src/main/java/io/mifos/portfolio/listener/IndividualLoanCaseCommandEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/IndividualLoanCaseCommandEventListener.java
index 0c5e0c2..f44f1aa 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/IndividualLoanCaseCommandEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/IndividualLoanCaseCommandEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.individuallending.api.v1.events.IndividualLoanCommandEvent;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanCommandEvent;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+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/io/mifos/portfolio/listener/LossProvisionStepsEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/LossProvisionStepsEventListener.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/portfolio/listener/LossProvisionStepsEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/LossProvisionStepsEventListener.java
index 395a215..0ed4890 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/LossProvisionStepsEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/LossProvisionStepsEventListener.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+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/io/mifos/portfolio/listener/MigrationEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/MigrationEventListener.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/portfolio/listener/MigrationEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/MigrationEventListener.java
index 7975299..15b5942 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/MigrationEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/MigrationEventListener.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
+import org.apache.fineract.cn.portfolio.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/io/mifos/portfolio/listener/ProductChargeDefinitionEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/ProductChargeDefinitionEventListener.java
similarity index 89%
rename from component-test/src/main/java/io/mifos/portfolio/listener/ProductChargeDefinitionEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/ProductChargeDefinitionEventListener.java
index a4dc493..01a64ec 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/ProductChargeDefinitionEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/ProductChargeDefinitionEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.portfolio.api.v1.events.ChargeDefinitionEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
+import org.apache.fineract.cn.portfolio.api.v1.events.ChargeDefinitionEvent;
+import org.apache.fineract.cn.portfolio.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/io/mifos/portfolio/listener/ProductEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/ProductEventListener.java
similarity index 92%
rename from component-test/src/main/java/io/mifos/portfolio/listener/ProductEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/ProductEventListener.java
index fb8042b..99563bc 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/ProductEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/ProductEventListener.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
+import org.apache.fineract.cn.portfolio.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/io/mifos/portfolio/listener/TaskDefinitionEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/TaskDefinitionEventListener.java
similarity index 89%
rename from component-test/src/main/java/io/mifos/portfolio/listener/TaskDefinitionEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/TaskDefinitionEventListener.java
index 2d1e910..86df200 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/TaskDefinitionEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/TaskDefinitionEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.api.v1.events.TaskDefinitionEvent;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskDefinitionEvent;
+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/io/mifos/portfolio/listener/TaskInstanceEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/TaskInstanceEventListener.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/portfolio/listener/TaskInstanceEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/TaskInstanceEventListener.java
index 9f98b34..060d298 100644
--- a/component-test/src/main/java/io/mifos/portfolio/listener/TaskInstanceEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/listener/TaskInstanceEventListener.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.listener;
+package org.apache.fineract.cn.portfolio.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.api.v1.events.TaskInstanceEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskInstanceEvent;
+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/build.gradle b/service/build.gradle
index dc45ecb..7fe4315 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -50,11 +50,11 @@ dependencies {
             [group: 'org.springframework.cloud', name: 'spring-cloud-spring-service-connector'],
             [group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'],
             [group: 'org.apache.fineract.cn.portfolio', name: 'api', version: project.version],
-            [group: 'org.apache.fineract.cn.rhythm', name: 'spi', version: versions.mifosrhythm],
-            [group: 'org.apache.fineract.cn.rhythm', name: 'api', version: versions.mifosrhythm],
-            [group: 'org.apache.fineract.cn.accounting', name: 'api', version: versions.frameworkaccounting],
+            [group: 'org.apache.fineract.cn.rhythm', name: 'spi', version: versions.fineractcnrhythm],
+            [group: 'org.apache.fineract.cn.rhythm', name: 'api', version: versions.fineractcnrhythm],
+            [group: 'org.apache.fineract.cn.accounting', name: 'api', version: versions.fineractcnaccounting],
             [group: 'org.apache.fineract.cn.anubis', name: 'library', version: versions.frameworkanubis],
-            [group: 'org.apache.fineract.cn.customer', name: 'api', version: versions.mifoscustomer],
+            [group: 'org.apache.fineract.cn.customer', name: 'api', version: versions.fineractcncustomer],
             [group: 'com.google.code.gson', name: 'gson'],
             [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi],
             [group: 'org.apache.fineract.cn', name: 'lang', version: versions.frameworklang],
diff --git a/service/src/main/java/io/mifos/individuallending/IndividualLendingCommandDispatcher.java b/service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingCommandDispatcher.java
similarity index 68%
rename from service/src/main/java/io/mifos/individuallending/IndividualLendingCommandDispatcher.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingCommandDispatcher.java
index 9eb851f..15e386a 100644
--- a/service/src/main/java/io/mifos/individuallending/IndividualLendingCommandDispatcher.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingCommandDispatcher.java
@@ -16,15 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending;
+package org.apache.fineract.cn.individuallending;
 
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.command.*;
-import io.mifos.portfolio.api.v1.domain.Command;
-import io.mifos.portfolio.api.v1.domain.ImportParameters;
-import io.mifos.products.spi.ProductCommandDispatcher;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.command.AcceptPaymentCommand;
+import org.apache.fineract.cn.individuallending.internal.command.ApproveCommand;
+import org.apache.fineract.cn.individuallending.internal.command.CloseCommand;
+import org.apache.fineract.cn.individuallending.internal.command.DenyCommand;
+import org.apache.fineract.cn.individuallending.internal.command.DisburseCommand;
+import org.apache.fineract.cn.individuallending.internal.command.ImportCommand;
+import org.apache.fineract.cn.individuallending.internal.command.OpenCommand;
+import org.apache.fineract.cn.individuallending.internal.command.RecoverCommand;
+import org.apache.fineract.cn.individuallending.internal.command.WriteOffCommand;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ImportParameters;
+import org.apache.fineract.cn.products.spi.ProductCommandDispatcher;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -74,7 +82,8 @@ public void dispatch(
         this.commandGateway.process(new RecoverCommand(productIdentifier, caseIdentifier, command));
         break;
       default:
-        throw ServiceException.badRequest("Action ''{0}'' is not implemented for individual loans.", actionIdentifier);
+        throw ServiceException
+            .badRequest("Action ''{0}'' is not implemented for individual loans.", actionIdentifier);
     }
   }
 
diff --git a/service/src/main/java/io/mifos/individuallending/IndividualLendingConfiguration.java b/service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingConfiguration.java
similarity index 80%
rename from service/src/main/java/io/mifos/individuallending/IndividualLendingConfiguration.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingConfiguration.java
index 7b079fd..101847e 100644
--- a/service/src/main/java/io/mifos/individuallending/IndividualLendingConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingConfiguration.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending;
+package org.apache.fineract.cn.individuallending;
 
 import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.context.annotation.ComponentScan;
@@ -28,9 +28,9 @@
  */
 @Configuration
 @ComponentScan({
-        "io.mifos.individuallending",
+    "org.apache.fineract.cn.individuallending",
 })
-@EnableJpaRepositories(basePackages = "io.mifos.individuallending.internal.repository")
-@EntityScan(basePackages = "io.mifos.individuallending.internal.repository")
+@EnableJpaRepositories(basePackages = "org.apache.fineract.cn.individuallending.internal.repository")
+@EntityScan(basePackages = "org.apache.fineract.cn.individuallending.internal.repository")
 public class IndividualLendingConfiguration {
 }
diff --git a/service/src/main/java/io/mifos/individuallending/IndividualLendingPatternFactory.java b/service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingPatternFactory.java
similarity index 82%
rename from service/src/main/java/io/mifos/individuallending/IndividualLendingPatternFactory.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingPatternFactory.java
index 217387c..d6f9557 100644
--- a/service/src/main/java/io/mifos/individuallending/IndividualLendingPatternFactory.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/IndividualLendingPatternFactory.java
@@ -16,44 +16,66 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending;
+package org.apache.fineract.cn.individuallending;
 
 import com.google.gson.Gson;
-import io.mifos.accounting.api.v1.domain.AccountType;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.customer.api.v1.client.CustomerManager;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.mapper.CaseParametersMapper;
-import io.mifos.individuallending.internal.repository.CaseCreditWorthinessFactorEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersRepository;
-import io.mifos.individuallending.internal.repository.CreditWorthinessFactorType;
-import io.mifos.individuallending.internal.service.ChargeDefinitionService;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.DataContextService;
-import io.mifos.individuallending.internal.service.costcomponent.*;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.service.ServiceConstants;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-import io.mifos.products.spi.PatternFactory;
-import io.mifos.products.spi.ProductCommandDispatcher;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseParametersMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCreditWorthinessFactorEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersRepository;
+import org.apache.fineract.cn.individuallending.internal.repository.CreditWorthinessFactorType;
+import org.apache.fineract.cn.individuallending.internal.service.ChargeDefinitionService;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.AcceptPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.ApplyInterestPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.ApprovePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.ClosePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.DenyPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.DisbursePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.MarkInArrearsPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.MarkLatePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.OpenPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.PaymentBuilder;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.PaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.RealRunningBalances;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.RecoverPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.WriteOffPaymentBuilderService;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.RequiredAccountAssignment;
+import org.apache.fineract.cn.portfolio.service.ServiceConstants;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
+import org.apache.fineract.cn.products.spi.PatternFactory;
+import org.apache.fineract.cn.products.spi.ProductCommandDispatcher;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import javax.validation.ConstraintViolation;
+import javax.validation.Validation;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountType;
+import org.apache.fineract.cn.customer.api.v1.client.CustomerManager;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
@@ -61,7 +83,7 @@
 @SuppressWarnings("unused")
 @Component
 public class IndividualLendingPatternFactory implements PatternFactory {
-  final static private String INDIVIDUAL_LENDING_PACKAGE = "io.mifos.individuallending.api.v1";
+  final static private String INDIVIDUAL_LENDING_PACKAGE = "org.apache.fineract.cn.individuallending.api.v1";
   final static private Pattern INDIVIDUAL_LENDING_PATTERN;
 
   static {
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/AcceptPaymentCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/AcceptPaymentCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/AcceptPaymentCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/AcceptPaymentCommand.java
index c416677..f73896c 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/AcceptPaymentCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/AcceptPaymentCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/ApplyInterestCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ApplyInterestCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/individuallending/internal/command/ApplyInterestCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ApplyInterestCommand.java
index 9eec73d..654de94 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/ApplyInterestCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ApplyInterestCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/ApproveCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ApproveCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/ApproveCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ApproveCommand.java
index 01a2cf7..4b1c74d 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/ApproveCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ApproveCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/ChangeCaseDocuments.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ChangeCaseDocuments.java
similarity index 91%
rename from service/src/main/java/io/mifos/individuallending/internal/command/ChangeCaseDocuments.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ChangeCaseDocuments.java
index abfaac4..7726cc1 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/ChangeCaseDocuments.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ChangeCaseDocuments.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/ChangeLossProvisionSteps.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ChangeLossProvisionSteps.java
similarity index 90%
rename from service/src/main/java/io/mifos/individuallending/internal/command/ChangeLossProvisionSteps.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ChangeLossProvisionSteps.java
index 7be5a8f..687d77f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/ChangeLossProvisionSteps.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ChangeLossProvisionSteps.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionConfiguration;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionConfiguration;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/CheckLateCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/CheckLateCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/individuallending/internal/command/CheckLateCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/CheckLateCommand.java
index 7170fe8..8dda509 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/CheckLateCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/CheckLateCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/CloseCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/CloseCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/CloseCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/CloseCommand.java
index 4f4efd2..148696c 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/CloseCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/CloseCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/DenyCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/DenyCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/DenyCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/DenyCommand.java
index 2b0244b..3a89226 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/DenyCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/DenyCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/DisburseCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/DisburseCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/DisburseCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/DisburseCommand.java
index aef2659..fddae29 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/DisburseCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/DisburseCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/ImportCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ImportCommand.java
similarity index 94%
rename from service/src/main/java/io/mifos/individuallending/internal/command/ImportCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ImportCommand.java
index a0ca711..407f801 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/ImportCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/ImportCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.ImportParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ImportParameters;
 
 import java.util.Objects;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/MarkInArrearsCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/MarkInArrearsCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/individuallending/internal/command/MarkInArrearsCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/MarkInArrearsCommand.java
index ff2799b..3157f78 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/MarkInArrearsCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/MarkInArrearsCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/MarkLateCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/MarkLateCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/individuallending/internal/command/MarkLateCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/MarkLateCommand.java
index ce0aade..7b81dd0 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/MarkLateCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/MarkLateCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/OpenCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/OpenCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/OpenCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/OpenCommand.java
index e93039a..ce06151 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/OpenCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/OpenCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/RecoverCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/RecoverCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/RecoverCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/RecoverCommand.java
index 0ae8e81..78ba09d 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/RecoverCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/RecoverCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/WriteOffCommand.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/WriteOffCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/command/WriteOffCommand.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/WriteOffCommand.java
index 2af655a..13ff1eb 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/WriteOffCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/WriteOffCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command;
+package org.apache.fineract.cn.individuallending.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/handler/BeatPublishCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/BeatPublishCommandHandler.java
similarity index 75%
rename from service/src/main/java/io/mifos/individuallending/internal/command/handler/BeatPublishCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/BeatPublishCommandHandler.java
index 80bbd30..8d5261e 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/handler/BeatPublishCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/BeatPublishCommandHandler.java
@@ -16,51 +16,33 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.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.command.internal.CommandBus;
-import io.mifos.core.lang.ApplicationName;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.api.v1.events.IndividualLoanCommandEvent;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.individuallending.internal.command.ApplyInterestCommand;
-import io.mifos.individuallending.internal.command.CheckLateCommand;
-import io.mifos.individuallending.internal.command.MarkInArrearsCommand;
-import io.mifos.individuallending.internal.command.MarkLateCommand;
-import io.mifos.individuallending.internal.repository.LateCaseEntity;
-import io.mifos.individuallending.internal.repository.LateCaseRepository;
-import io.mifos.individuallending.internal.repository.LossProvisionStepEntity;
-import io.mifos.individuallending.internal.repository.LossProvisionStepRepository;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.DataContextService;
-import io.mifos.individuallending.internal.service.costcomponent.RealRunningBalances;
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledActionHelpers;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.service.config.PortfolioProperties;
-import io.mifos.portfolio.service.internal.command.CreateBeatPublishCommand;
-import io.mifos.portfolio.service.internal.repository.CaseCommandEntity;
-import io.mifos.portfolio.service.internal.repository.CaseCommandRepository;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.CaseRepository;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-import io.mifos.rhythm.spi.v1.domain.BeatPublish;
-import io.mifos.rhythm.spi.v1.events.BeatPublishEvent;
-import io.mifos.rhythm.spi.v1.events.EventConstants;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.transaction.annotation.Transactional;
-
+package org.apache.fineract.cn.individuallending.internal.command.handler;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanCommandEvent;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.individuallending.internal.command.ApplyInterestCommand;
+import org.apache.fineract.cn.individuallending.internal.command.CheckLateCommand;
+import org.apache.fineract.cn.individuallending.internal.command.MarkInArrearsCommand;
+import org.apache.fineract.cn.individuallending.internal.command.MarkLateCommand;
+import org.apache.fineract.cn.individuallending.internal.repository.LateCaseEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.LateCaseRepository;
+import org.apache.fineract.cn.individuallending.internal.repository.LossProvisionStepEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.LossProvisionStepRepository;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.RealRunningBalances;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.service.config.PortfolioProperties;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateBeatPublishCommand;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseCommandEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseCommandRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -70,6 +52,23 @@
 import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+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.command.internal.CommandBus;
+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.rhythm.spi.v1.domain.BeatPublish;
+import org.apache.fineract.cn.rhythm.spi.v1.events.BeatPublishEvent;
+import org.apache.fineract.cn.rhythm.spi.v1.events.EventConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
@@ -145,7 +144,7 @@ public BeatPublishEvent process(final CreateBeatPublishCommand createBeatPublish
   @Transactional
   @CommandHandler(logStart = CommandLogLevel.INFO, logFinish = CommandLogLevel.INFO)
   @EventEmitter(
-      selectorName = io.mifos.portfolio.api.v1.events.EventConstants.SELECTOR_NAME,
+      selectorName = org.apache.fineract.cn.portfolio.api.v1.events.EventConstants.SELECTOR_NAME,
       selectorValue = IndividualLoanEventConstants.CHECK_LATE_INDIVIDUALLOAN_CASE)
   public IndividualLoanCommandEvent process(final CheckLateCommand command) {
     final String productIdentifier = command.getProductIdentifier();
@@ -164,7 +163,8 @@ public IndividualLoanCommandEvent process(final CheckLateCommand command) {
 
     final LocalDateTime dateOfMostRecentDisbursement = dateOfMostRecentDisburse(dataContextOfAction.getCustomerCaseEntity().getId())
             .orElseThrow(() ->
-                ServiceException.badRequest("No last disbursal date for ''{0}.{1}'' could be determined.  " +
+                ServiceException
+                    .badRequest("No last disbursal date for ''{0}.{1}'' could be determined.  " +
                     "Therefore it cannot be checked for lateness.", productIdentifier, caseIdentifier));
 
     final List<Period> repaymentPeriods = ScheduledActionHelpers.generateRepaymentPeriods(
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/handler/CaseDocumentsCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/CaseDocumentsCommandHandler.java
similarity index 68%
rename from service/src/main/java/io/mifos/individuallending/internal/command/handler/CaseDocumentsCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/CaseDocumentsCommandHandler.java
index a6ff26e..de2236c 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/handler/CaseDocumentsCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/CaseDocumentsCommandHandler.java
@@ -16,29 +16,28 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.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.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.individuallending.internal.command.ChangeCaseDocuments;
-import io.mifos.individuallending.internal.mapper.CaseCustomerDocumentsMapper;
-import io.mifos.individuallending.internal.repository.CaseCustomerDocumentEntity;
-import io.mifos.individuallending.internal.repository.CaseCustomerDocumentsRepository;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersRepository;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
-import io.mifos.portfolio.service.internal.repository.CaseRepository;
-import org.springframework.transaction.annotation.Transactional;
+package org.apache.fineract.cn.individuallending.internal.command.handler;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.individuallending.internal.command.ChangeCaseDocuments;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseCustomerDocumentsMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCustomerDocumentEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCustomerDocumentsRepository;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersRepository;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
+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.lang.ServiceException;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
@@ -65,7 +64,8 @@ public CaseEvent process(final ChangeCaseDocuments command) {
     final CaseParametersEntity caseparametersEntity =
         caseRepository.findByProductIdentifierAndIdentifier(command.getProductIdentifier(), command.getCaseIdentifier())
             .flatMap(x -> caseParametersRepository.findByCaseId(x.getId()))
-            .orElseThrow(() -> ServiceException.notFound("Case ''{0}.{1}'' not found", command.getProductIdentifier(), command.getCaseIdentifier()));
+            .orElseThrow(() -> ServiceException
+                .notFound("Case ''{0}.{1}'' not found", command.getProductIdentifier(), command.getCaseIdentifier()));
 
     final Map<CaseCustomerDocuments.Document, CaseCustomerDocumentEntity> existingCaseCustomerDocuments
         = caseCustomerDocumentsRepository.findByCaseParametersId(caseparametersEntity.getId())
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/handler/IndividualLoanCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/IndividualLoanCommandHandler.java
similarity index 88%
rename from service/src/main/java/io/mifos/individuallending/internal/command/handler/IndividualLoanCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/IndividualLoanCommandHandler.java
index 185a9b8..c0e53db 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/handler/IndividualLoanCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/IndividualLoanCommandHandler.java
@@ -16,41 +16,58 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.command.handler;
-
-
-import io.mifos.core.api.util.UserContextHolder;
-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.DateConverter;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.IndividualLendingPatternFactory;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.api.v1.events.IndividualLoanCommandEvent;
-import io.mifos.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.individuallending.internal.command.*;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersRepository;
-import io.mifos.individuallending.internal.repository.LateCaseEntity;
-import io.mifos.individuallending.internal.repository.LateCaseRepository;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.DataContextService;
-import io.mifos.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
-import io.mifos.individuallending.internal.service.costcomponent.*;
-import io.mifos.individuallending.internal.service.schedule.ScheduledActionHelpers;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CostComponent;
-import io.mifos.portfolio.service.internal.mapper.CaseMapper;
-import io.mifos.portfolio.service.internal.repository.*;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Nullable;
+package org.apache.fineract.cn.individuallending.internal.command.handler;
+
+
+import org.apache.fineract.cn.individuallending.IndividualLendingPatternFactory;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanCommandEvent;
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.individuallending.internal.command.AcceptPaymentCommand;
+import org.apache.fineract.cn.individuallending.internal.command.ApplyInterestCommand;
+import org.apache.fineract.cn.individuallending.internal.command.ApproveCommand;
+import org.apache.fineract.cn.individuallending.internal.command.CloseCommand;
+import org.apache.fineract.cn.individuallending.internal.command.DenyCommand;
+import org.apache.fineract.cn.individuallending.internal.command.DisburseCommand;
+import org.apache.fineract.cn.individuallending.internal.command.ImportCommand;
+import org.apache.fineract.cn.individuallending.internal.command.MarkInArrearsCommand;
+import org.apache.fineract.cn.individuallending.internal.command.MarkLateCommand;
+import org.apache.fineract.cn.individuallending.internal.command.OpenCommand;
+import org.apache.fineract.cn.individuallending.internal.command.RecoverCommand;
+import org.apache.fineract.cn.individuallending.internal.command.WriteOffCommand;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersRepository;
+import org.apache.fineract.cn.individuallending.internal.repository.LateCaseEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.LateCaseRepository;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextService;
+import org.apache.fineract.cn.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.AcceptPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.ApplyInterestPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.ApprovePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.ClosePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.CostComponentService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.DenyPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.DisbursePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.MarkInArrearsPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.MarkLatePaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.OpenPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.PaymentBuilder;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.RealRunningBalances;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.RecoverPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.WriteOffPaymentBuilderService;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.CaseMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseCommandEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseCommandRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceRepository;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -60,6 +77,16 @@
 import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+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.lang.DateConverter;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/command/handler/LossProvisionStepsCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/LossProvisionStepsCommandHandler.java
similarity index 77%
rename from service/src/main/java/io/mifos/individuallending/internal/command/handler/LossProvisionStepsCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/LossProvisionStepsCommandHandler.java
index f4908ff..b0a4037 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/command/handler/LossProvisionStepsCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/command/handler/LossProvisionStepsCommandHandler.java
@@ -16,26 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.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.individuallending.api.v1.events.IndividualLoanEventConstants;
-import io.mifos.individuallending.internal.command.ChangeLossProvisionSteps;
-import io.mifos.individuallending.internal.mapper.LossProvisionStepMapper;
-import io.mifos.individuallending.internal.repository.LossProvisionStepEntity;
-import io.mifos.individuallending.internal.repository.LossProvisionStepRepository;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
+package org.apache.fineract.cn.individuallending.internal.command.handler;
 
+import org.apache.fineract.cn.individuallending.api.v1.events.IndividualLoanEventConstants;
+import org.apache.fineract.cn.individuallending.internal.command.ChangeLossProvisionSteps;
+import org.apache.fineract.cn.individuallending.internal.mapper.LossProvisionStepMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.LossProvisionStepEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.LossProvisionStepRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
 import java.util.Map;
 import java.util.function.Function;
 import java.util.stream.Collectors;
+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.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 
 
 /**
diff --git a/service/src/main/java/io/mifos/individuallending/internal/mapper/CaseCustomerDocumentsMapper.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/CaseCustomerDocumentsMapper.java
similarity index 88%
rename from service/src/main/java/io/mifos/individuallending/internal/mapper/CaseCustomerDocumentsMapper.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/CaseCustomerDocumentsMapper.java
index 18987e0..4922284 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/mapper/CaseCustomerDocumentsMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/CaseCustomerDocumentsMapper.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.mapper;
+package org.apache.fineract.cn.individuallending.internal.mapper;
 
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
-import io.mifos.individuallending.internal.repository.CaseCustomerDocumentEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCustomerDocumentEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/mapper/CaseParametersMapper.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/CaseParametersMapper.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/mapper/CaseParametersMapper.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/CaseParametersMapper.java
index 838295a..2b276cd 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/mapper/CaseParametersMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/CaseParametersMapper.java
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.mapper;
-
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
-import io.mifos.individuallending.internal.repository.CaseCreditWorthinessFactorEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CreditWorthinessFactorType;
-import io.mifos.portfolio.api.v1.domain.PaymentCycle;
-import io.mifos.portfolio.api.v1.domain.TermRange;
+package org.apache.fineract.cn.individuallending.internal.mapper;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessFactor;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CreditWorthinessSnapshot;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCreditWorthinessFactorEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CreditWorthinessFactorType;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
 
 import java.math.BigDecimal;
 import java.util.*;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/mapper/LossProvisionStepMapper.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/LossProvisionStepMapper.java
similarity index 86%
rename from service/src/main/java/io/mifos/individuallending/internal/mapper/LossProvisionStepMapper.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/LossProvisionStepMapper.java
index 510075a..b656968 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/mapper/LossProvisionStepMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/mapper/LossProvisionStepMapper.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.mapper;
+package org.apache.fineract.cn.individuallending.internal.mapper;
 
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionStep;
-import io.mifos.individuallending.internal.repository.LossProvisionStepEntity;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.internal.repository.LossProvisionStepEntity;
 
 import java.math.BigDecimal;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseCreditWorthinessFactorEntity.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCreditWorthinessFactorEntity.java
similarity index 98%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/CaseCreditWorthinessFactorEntity.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCreditWorthinessFactorEntity.java
index d10b428..202f957 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseCreditWorthinessFactorEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCreditWorthinessFactorEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import javax.persistence.*;
 import java.math.BigDecimal;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseCustomerDocumentEntity.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCustomerDocumentEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/CaseCustomerDocumentEntity.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCustomerDocumentEntity.java
index 9dc58e5..660cb73 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseCustomerDocumentEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCustomerDocumentEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import javax.persistence.*;
 import java.util.Objects;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseCustomerDocumentsRepository.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCustomerDocumentsRepository.java
similarity index 94%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/CaseCustomerDocumentsRepository.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCustomerDocumentsRepository.java
index b51eaf3..6353467 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseCustomerDocumentsRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseCustomerDocumentsRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Component;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseParametersEntity.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseParametersEntity.java
similarity index 98%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/CaseParametersEntity.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseParametersEntity.java
index 24edcf5..d0733ed 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseParametersEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseParametersEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import javax.persistence.*;
 import java.math.BigDecimal;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseParametersRepository.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseParametersRepository.java
similarity index 95%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/CaseParametersRepository.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseParametersRepository.java
index 45e0118..c4a948f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/CaseParametersRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CaseParametersRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/CreditWorthinessFactorType.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CreditWorthinessFactorType.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/CreditWorthinessFactorType.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CreditWorthinessFactorType.java
index 1575556..4c758d4 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/CreditWorthinessFactorType.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/CreditWorthinessFactorType.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/LateCaseEntity.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LateCaseEntity.java
similarity index 84%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/LateCaseEntity.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LateCaseEntity.java
index b238017..415704f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/LateCaseEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LateCaseEntity.java
@@ -16,13 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
-import io.mifos.core.mariadb.util.LocalDateTimeConverter;
-
-import javax.persistence.*;
 import java.time.LocalDateTime;
 import java.util.Objects;
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/LateCaseRepository.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LateCaseRepository.java
similarity index 94%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/LateCaseRepository.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LateCaseRepository.java
index 5d118c2..ca14dd2 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/LateCaseRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LateCaseRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/LossProvisionStepEntity.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LossProvisionStepEntity.java
similarity index 96%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/LossProvisionStepEntity.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LossProvisionStepEntity.java
index 9af7e6f..b1d0506 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/LossProvisionStepEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LossProvisionStepEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import javax.persistence.*;
 import java.math.BigDecimal;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/repository/LossProvisionStepRepository.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LossProvisionStepRepository.java
similarity index 95%
rename from service/src/main/java/io/mifos/individuallending/internal/repository/LossProvisionStepRepository.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LossProvisionStepRepository.java
index 79c3889..4592765 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/repository/LossProvisionStepRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/repository/LossProvisionStepRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.repository;
+package org.apache.fineract.cn.individuallending.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/AnnuityPayment.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/AnnuityPayment.java
similarity index 97%
rename from service/src/main/java/io/mifos/individuallending/internal/service/AnnuityPayment.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/AnnuityPayment.java
index f1ee5e9..581aa5f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/AnnuityPayment.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/AnnuityPayment.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
 import org.javamoney.calc.CalculationContext;
 import org.javamoney.calc.common.Rate;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/CaseDocumentsService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/CaseDocumentsService.java
similarity index 70%
rename from service/src/main/java/io/mifos/individuallending/internal/service/CaseDocumentsService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/CaseDocumentsService.java
index 196358d..24783f3 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/CaseDocumentsService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/CaseDocumentsService.java
@@ -16,21 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
-import io.mifos.individuallending.internal.mapper.CaseCustomerDocumentsMapper;
-import io.mifos.individuallending.internal.repository.CaseCustomerDocumentEntity;
-import io.mifos.individuallending.internal.repository.CaseCustomerDocumentsRepository;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersRepository;
-import io.mifos.portfolio.service.internal.repository.CaseRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseCustomerDocumentsMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCustomerDocumentEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseCustomerDocumentsRepository;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
 import java.util.Comparator;
 import java.util.stream.Stream;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
@@ -57,7 +56,8 @@ public CaseDocumentsService(
     final CaseParametersEntity caseparametersEntity =
         caseRepository.findByProductIdentifierAndIdentifier(productIdentifier, caseIdentifier)
             .flatMap(x -> caseParametersRepository.findByCaseId(x.getId()))
-            .orElseThrow(() -> ServiceException.notFound("Case ''{0}.{1}'' not found", productIdentifier, caseIdentifier));
+            .orElseThrow(() -> ServiceException
+                .notFound("Case ''{0}.{1}'' not found", productIdentifier, caseIdentifier));
 
     return caseCustomerDocumentsRepository.findByCaseParametersId(caseparametersEntity.getId())
         .sorted(Comparator.comparing(CaseCustomerDocumentEntity::getOrder))
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/CaseParametersService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/CaseParametersService.java
similarity index 77%
rename from service/src/main/java/io/mifos/individuallending/internal/service/CaseParametersService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/CaseParametersService.java
index 4487cb8..f82c68d 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/CaseParametersService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/CaseParametersService.java
@@ -16,19 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
 import com.google.gson.Gson;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.internal.mapper.CaseParametersMapper;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersRepository;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CasePage;
-import io.mifos.portfolio.service.ServiceConstants;
-import io.mifos.portfolio.service.internal.mapper.CaseMapper;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseParametersMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.portfolio.service.ServiceConstants;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.CaseMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.data.domain.Page;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/ChargeDefinitionService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/ChargeDefinitionService.java
similarity index 94%
rename from service/src/main/java/io/mifos/individuallending/internal/service/ChargeDefinitionService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/ChargeDefinitionService.java
index da57e0d..fbb2761 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/ChargeDefinitionService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/ChargeDefinitionService.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.service.ConfigurableChargeDefinitionService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.service.ConfigurableChargeDefinitionService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -36,7 +36,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/DataContextOfAction.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DataContextOfAction.java
similarity index 82%
rename from service/src/main/java/io/mifos/individuallending/internal/service/DataContextOfAction.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DataContextOfAction.java
index e03cdbd..ea95aaf 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/DataContextOfAction.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DataContextOfAction.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
-
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.mapper.CaseParametersMapper;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
+package org.apache.fineract.cn.individuallending.internal.service;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseParametersMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/DataContextService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DataContextService.java
similarity index 74%
rename from service/src/main/java/io/mifos/individuallending/internal/service/DataContextService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DataContextService.java
index 6b868a8..84c687a 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/DataContextService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DataContextService.java
@@ -16,29 +16,28 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
 import com.google.gson.Gson;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.internal.mapper.CaseParametersMapper;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.repository.CaseParametersRepository;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.service.ServiceConstants;
-import io.mifos.portfolio.service.internal.mapper.CaseMapper;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.CaseRepository;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseParametersMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.service.ServiceConstants;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.CaseMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import java.util.List;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Nullable;
-import java.util.List;
-
 /**
  * @author Myrle Krantz
  */
@@ -68,7 +67,8 @@ public DataContextOfAction checkedGetDataContext(
 
     final ProductEntity product =
         productRepository.findByIdentifier(productIdentifier)
-            .orElseThrow(() -> ServiceException.notFound("Product not found ''{0}''.", productIdentifier));
+            .orElseThrow(() -> ServiceException
+                .notFound("Product not found ''{0}''.", productIdentifier));
     final CaseEntity customerCase =
         caseRepository.findByProductIdentifierAndIdentifier(productIdentifier, caseIdentifier)
             .orElseThrow(() -> ServiceException.notFound("Case not found ''{0}.{1}''.", productIdentifier, caseIdentifier));
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/DesignatorToAccountIdentifierMapper.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DesignatorToAccountIdentifierMapper.java
similarity index 90%
rename from service/src/main/java/io/mifos/individuallending/internal/service/DesignatorToAccountIdentifierMapper.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DesignatorToAccountIdentifierMapper.java
index 9c10cbc..3be80a6 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/DesignatorToAccountIdentifierMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/DesignatorToAccountIdentifierMapper.java
@@ -16,23 +16,26 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.IndividualLendingPatternFactory;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.RequiredAccountAssignment;
-import io.mifos.portfolio.service.internal.mapper.CaseMapper;
-import io.mifos.portfolio.service.internal.mapper.ProductMapper;
-import io.mifos.portfolio.service.internal.repository.CaseAccountAssignmentEntity;
-import io.mifos.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
-
-import javax.annotation.Nonnull;
-import java.util.*;
+package org.apache.fineract.cn.individuallending.internal.service;
+
+import org.apache.fineract.cn.individuallending.IndividualLendingPatternFactory;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.RequiredAccountAssignment;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.CaseMapper;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.ProductMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import javax.annotation.Nonnull;
+import org.apache.fineract.cn.lang.ServiceException;
 
 /**
  * @author Myrle Krantz
@@ -99,7 +102,8 @@ public DesignatorToAccountIdentifierMapper(final @Nonnull DataContextOfAction da
 
   public String mapOrThrow(final @Nonnull String accountDesignator) {
     return map(accountDesignator).orElseThrow(() ->
-        ServiceException.badRequest("A required account designator was not set ''{0}''.", accountDesignator));
+        ServiceException
+            .badRequest("A required account designator was not set ''{0}''.", accountDesignator));
   }
 
   @SuppressWarnings("OptionalUsedAsFieldOrParameterType")
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/IndividualLoanService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/IndividualLoanService.java
similarity index 85%
rename from service/src/main/java/io/mifos/individuallending/internal/service/IndividualLoanService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/IndividualLoanService.java
index 24a967f..430a35a 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/IndividualLoanService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/IndividualLoanService.java
@@ -16,28 +16,38 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.caseinstance.ChargeName;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPayment;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.costcomponent.CostComponentService;
-import io.mifos.individuallending.internal.service.costcomponent.PaymentBuilder;
-import io.mifos.individuallending.internal.service.costcomponent.SimulatedRunningBalances;
-import io.mifos.individuallending.internal.service.schedule.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
+package org.apache.fineract.cn.individuallending.internal.service;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.ChargeName;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPayment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.CostComponentService;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.PaymentBuilder;
+import org.apache.fineract.cn.individuallending.internal.service.costcomponent.SimulatedRunningBalances;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargeComparator;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
 import java.util.stream.Collector;
 import java.util.stream.Collectors;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/LossProvisionStepService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/LossProvisionStepService.java
similarity index 77%
rename from service/src/main/java/io/mifos/individuallending/internal/service/LossProvisionStepService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/LossProvisionStepService.java
index 512101a..33ff83e 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/LossProvisionStepService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/LossProvisionStepService.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionStep;
-import io.mifos.individuallending.internal.mapper.LossProvisionStepMapper;
-import io.mifos.individuallending.internal.repository.LossProvisionStepRepository;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.internal.mapper.LossProvisionStepMapper;
+import org.apache.fineract.cn.individuallending.internal.repository.LossProvisionStepRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
@@ -55,7 +54,8 @@ public LossProvisionStepService(
   public List<LossProvisionStep> findByProductIdentifier(
       final String productIdentifier) {
     final Long productId = productRepository.findByIdentifier(productIdentifier)
-        .orElseThrow(() -> ServiceException.notFound("Product ''{}'' doesn''t exist.", productIdentifier))
+        .orElseThrow(() -> ServiceException
+            .notFound("Product ''{}'' doesn''t exist.", productIdentifier))
         .getId();
     return lossProvisionStepRepository.findByProductIdOrderByDaysLateAsc(productId)
         .map(LossProvisionStepMapper::map)
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/RateCollectors.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/RateCollectors.java
similarity index 97%
rename from service/src/main/java/io/mifos/individuallending/internal/service/RateCollectors.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/RateCollectors.java
index eba1fcf..644b650 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/RateCollectors.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/RateCollectors.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
 import java.math.BigDecimal;
 import java.util.stream.Collector;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/AcceptPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AcceptPaymentBuilderService.java
similarity index 84%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/AcceptPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AcceptPaymentBuilderService.java
index 53e8dcc..faa3002 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/AcceptPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AcceptPaymentBuilderService.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledActionHelpers;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderService.java
similarity index 78%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderService.java
index d9b07bb..3fb243a 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderService.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ApprovePaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApprovePaymentBuilderService.java
similarity index 80%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ApprovePaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApprovePaymentBuilderService.java
index 81d6ae2..2d0ed1c 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ApprovePaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApprovePaymentBuilderService.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/AvailableRunningBalancesWithLimits.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AvailableRunningBalancesWithLimits.java
similarity index 94%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/AvailableRunningBalancesWithLimits.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AvailableRunningBalancesWithLimits.java
index cf79bf3..92c025f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/AvailableRunningBalancesWithLimits.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AvailableRunningBalancesWithLimits.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ClosePaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ClosePaymentBuilderService.java
similarity index 76%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ClosePaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ClosePaymentBuilderService.java
index 9c6c3dd..2718edc 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/ClosePaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ClosePaymentBuilderService.java
@@ -16,24 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.Collections;
 import java.util.List;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/CostComponentService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/CostComponentService.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/CostComponentService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/CostComponentService.java
index 91faa3f..25a943a 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/CostComponentService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/CostComponentService.java
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
-
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.AnnuityPayment;
-import io.mifos.individuallending.internal.service.RateCollectors;
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.AnnuityPayment;
+import org.apache.fineract.cn.individuallending.internal.service.RateCollectors;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 import org.javamoney.calc.common.Rate;
 import org.javamoney.moneta.Money;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/DenyPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DenyPaymentBuilderService.java
similarity index 80%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/DenyPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DenyPaymentBuilderService.java
index bc9043e..106dacc 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/DenyPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DenyPaymentBuilderService.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/DisbursePaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DisbursePaymentBuilderService.java
similarity index 82%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/DisbursePaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DisbursePaymentBuilderService.java
index 2f5e7cf..6eb95aa 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/DisbursePaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DisbursePaymentBuilderService.java
@@ -16,24 +16,27 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.LossProvisionChargesService;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/MarkInArrearsPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/MarkInArrearsPaymentBuilderService.java
similarity index 85%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/MarkInArrearsPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/MarkInArrearsPaymentBuilderService.java
index ffb4ecd..1f70726 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/MarkInArrearsPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/MarkInArrearsPaymentBuilderService.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.LossProvisionChargesService;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.LossProvisionChargesService;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Nonnull;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/MarkLatePaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/MarkLatePaymentBuilderService.java
similarity index 81%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/MarkLatePaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/MarkLatePaymentBuilderService.java
index 46ba008..0668915 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/MarkLatePaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/MarkLatePaymentBuilderService.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.LossProvisionChargesService;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.LossProvisionChargesService;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/OpenPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/OpenPaymentBuilderService.java
similarity index 80%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/OpenPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/OpenPaymentBuilderService.java
index 8d7d44e..d2abca6 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/OpenPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/OpenPaymentBuilderService.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilder.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilder.java
similarity index 92%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilder.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilder.java
index 2020b25..886543f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilder.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilder.java
@@ -16,25 +16,29 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
 import com.google.common.collect.Sets;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.individuallending.IndividualLendingPatternFactory;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPayment;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.CostComponent;
-import io.mifos.portfolio.api.v1.domain.Payment;
-import io.mifos.portfolio.api.v1.domain.RequiredAccountAssignment;
-
-import javax.annotation.Nullable;
+import org.apache.fineract.cn.individuallending.IndividualLendingPatternFactory;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPayment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.RequiredAccountAssignment;
 import java.math.BigDecimal;
 import java.time.LocalDate;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import javax.annotation.Nullable;
+import org.apache.fineract.cn.lang.DateConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderService.java
similarity index 87%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderService.java
index 7cdb036..096b113 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderService.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
 
 import javax.annotation.Nonnull;
 import java.math.BigDecimal;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PeriodChargeCalculator.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PeriodChargeCalculator.java
similarity index 88%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PeriodChargeCalculator.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PeriodChargeCalculator.java
index 5929761..9b6698f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/PeriodChargeCalculator.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PeriodChargeCalculator.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.RateCollectors;
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledActionHelpers;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.RateCollectors;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import java.math.BigDecimal;
 import java.time.Duration;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RealRunningBalances.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RealRunningBalances.java
similarity index 89%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RealRunningBalances.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RealRunningBalances.java
index 41b8e1c..ef594d3 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RealRunningBalances.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RealRunningBalances.java
@@ -16,24 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
-
-import io.mifos.accounting.api.v1.domain.Account;
-import io.mifos.accounting.api.v1.domain.AccountType;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-import net.jodah.expiringmap.ExpirationPolicy;
-import net.jodah.expiringmap.ExpiringMap;
-
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Optional;
 import java.util.concurrent.TimeUnit;
+import net.jodah.expiringmap.ExpirationPolicy;
+import net.jodah.expiringmap.ExpiringMap;
+import org.apache.fineract.cn.accounting.api.v1.domain.Account;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountType;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RecoverPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RecoverPaymentBuilderService.java
similarity index 81%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RecoverPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RecoverPaymentBuilderService.java
index c15177f..50d4619 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RecoverPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RecoverPaymentBuilderService.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RunningBalances.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RunningBalances.java
similarity index 88%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RunningBalances.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RunningBalances.java
index dff7890..dda635f 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/RunningBalances.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/RunningBalances.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.IndividualLendingPatternFactory;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.Pattern;
-import io.mifos.portfolio.api.v1.domain.RequiredAccountAssignment;
-
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
+
+import org.apache.fineract.cn.individuallending.IndividualLendingPatternFactory;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.api.v1.domain.RequiredAccountAssignment;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.Optional;
+import org.apache.fineract.cn.lang.ServiceException;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/SimulatedRunningBalances.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/SimulatedRunningBalances.java
similarity index 93%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/SimulatedRunningBalances.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/SimulatedRunningBalances.java
index 68a1e7f..cfc0ff6 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/SimulatedRunningBalances.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/SimulatedRunningBalances.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import java.math.BigDecimal;
 import java.time.Clock;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderService.java
similarity index 84%
rename from service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderService.java
index a870224..b488283 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderService.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
-
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.ChargeDefinitionService;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.ChargeDefinitionService;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -38,7 +38,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ChargeRange.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ChargeRange.java
similarity index 96%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/ChargeRange.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ChargeRange.java
index f368f3c..4241080 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ChargeRange.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ChargeRange.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
 import java.math.BigDecimal;
 import java.util.Objects;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/LossProvisionChargesService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/LossProvisionChargesService.java
similarity index 83%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/LossProvisionChargesService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/LossProvisionChargesService.java
index 01cd51b..1990bc2 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/LossProvisionChargesService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/LossProvisionChargesService.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionStep;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.LossProvisionStepService;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.LossProvisionStepService;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -32,7 +32,7 @@
 import java.time.LocalDate;
 import java.util.Optional;
 
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/Period.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/Period.java
similarity index 98%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/Period.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/Period.java
index c4847b6..63d1cef 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/Period.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/Period.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
 import javax.annotation.Nonnull;
 import java.time.Duration;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledAction.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledAction.java
similarity index 95%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledAction.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledAction.java
index 2aa2208..1cfccdd 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledAction.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledAction.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionHelpers.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionHelpers.java
similarity index 97%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionHelpers.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionHelpers.java
index e48cf8a..e188d54 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionHelpers.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionHelpers.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
 
 import javax.annotation.Nonnull;
 import java.time.*;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledCharge.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledCharge.java
similarity index 93%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledCharge.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledCharge.java
index 1fba26c..f278ff1 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledCharge.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledCharge.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import javax.annotation.Nonnull;
 import java.util.Optional;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargeComparator.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargeComparator.java
similarity index 90%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargeComparator.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargeComparator.java
index 305d42c..2036fa5 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargeComparator.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargeComparator.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
 
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import java.util.Comparator;
 import java.util.Optional;
diff --git a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargesService.java b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargesService.java
similarity index 94%
rename from service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargesService.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargesService.java
index 46e39c5..934905a 100644
--- a/service/src/main/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargesService.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargesService.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.internal.service.ChargeDefinitionService;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentEntity;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.individuallending.internal.service.ChargeDefinitionService;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/individuallending/rest/BeatPublishListenerRestController.java b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/BeatPublishListenerRestController.java
similarity index 72%
rename from service/src/main/java/io/mifos/individuallending/rest/BeatPublishListenerRestController.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/rest/BeatPublishListenerRestController.java
index 00117df..aff7e02 100644
--- a/service/src/main/java/io/mifos/individuallending/rest/BeatPublishListenerRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/BeatPublishListenerRestController.java
@@ -16,21 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.rest;
+package org.apache.fineract.cn.individuallending.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.portfolio.service.internal.command.CreateBeatPublishCommand;
-import io.mifos.rhythm.spi.v1.client.BeatListener;
-import io.mifos.rhythm.spi.v1.domain.BeatPublish;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateBeatPublishCommand;
+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.rhythm.spi.v1.client.BeatListener;
+import org.apache.fineract.cn.rhythm.spi.v1.domain.BeatPublish;
 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 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/individuallending/rest/CaseDocumentsRestController.java b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/CaseDocumentsRestController.java
similarity index 72%
rename from service/src/main/java/io/mifos/individuallending/rest/CaseDocumentsRestController.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/rest/CaseDocumentsRestController.java
index aa25897..2c890fe 100644
--- a/service/src/main/java/io/mifos/individuallending/rest/CaseDocumentsRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/CaseDocumentsRestController.java
@@ -16,25 +16,29 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.rest;
+package org.apache.fineract.cn.individuallending.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.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
-import io.mifos.individuallending.internal.command.ChangeCaseDocuments;
-import io.mifos.individuallending.internal.service.CaseDocumentsService;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
+import org.apache.fineract.cn.individuallending.internal.command.ChangeCaseDocuments;
+import org.apache.fineract.cn.individuallending.internal.service.CaseDocumentsService;
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import java.util.List;
+import java.util.stream.Collectors;
+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.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 java.util.List;
-import java.util.stream.Collectors;
+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;
 
 @RestController
 @RequestMapping("/individuallending/products/{productidentifier}/cases/{caseidentifier}/documents")
@@ -94,6 +98,7 @@ public CaseDocumentsRestController(
   private void throwIfCaseDoesntExist(final String productIdentifier, final String caseIdentifier) throws ServiceException {
     //noinspection unused
     Case x = caseService.findByIdentifier(productIdentifier, caseIdentifier)
-        .orElseThrow(() -> ServiceException.notFound("Case ''{0}.{1}'' does not exist.", productIdentifier, caseIdentifier));
+        .orElseThrow(() -> ServiceException
+            .notFound("Case ''{0}.{1}'' does not exist.", productIdentifier, caseIdentifier));
   }
 }
diff --git a/service/src/main/java/io/mifos/individuallending/rest/IndividualLendingRestController.java b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/IndividualLendingRestController.java
similarity index 71%
rename from service/src/main/java/io/mifos/individuallending/rest/IndividualLendingRestController.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/rest/IndividualLendingRestController.java
index 6a14d16..39614f3 100644
--- a/service/src/main/java/io/mifos/individuallending/rest/IndividualLendingRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/IndividualLendingRestController.java
@@ -16,16 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.rest;
+package org.apache.fineract.cn.individuallending.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.individuallending.internal.service.CaseParametersService;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.individuallending.internal.service.CaseParametersService;
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+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/individuallending/rest/LossProvisionStepRestController.java b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/LossProvisionStepRestController.java
similarity index 75%
rename from service/src/main/java/io/mifos/individuallending/rest/LossProvisionStepRestController.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/rest/LossProvisionStepRestController.java
index e21987e..faa94d5 100644
--- a/service/src/main/java/io/mifos/individuallending/rest/LossProvisionStepRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/LossProvisionStepRestController.java
@@ -16,24 +16,28 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.rest;
+package org.apache.fineract.cn.individuallending.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.individuallending.api.v1.domain.product.LossProvisionConfiguration;
-import io.mifos.individuallending.internal.command.ChangeLossProvisionSteps;
-import io.mifos.individuallending.internal.service.LossProvisionStepService;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.service.internal.service.ProductService;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionConfiguration;
+import org.apache.fineract.cn.individuallending.internal.command.ChangeLossProvisionSteps;
+import org.apache.fineract.cn.individuallending.internal.service.LossProvisionStepService;
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+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.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 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/individuallending/rest/PlannedPaymentsRestController.java b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/PlannedPaymentsRestController.java
similarity index 79%
rename from service/src/main/java/io/mifos/individuallending/rest/PlannedPaymentsRestController.java
rename to service/src/main/java/org/apache/fineract/cn/individuallending/rest/PlannedPaymentsRestController.java
index f96b12f..ebc1e77 100644
--- a/service/src/main/java/io/mifos/individuallending/rest/PlannedPaymentsRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/individuallending/rest/PlannedPaymentsRestController.java
@@ -16,25 +16,30 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.rest;
+package org.apache.fineract.cn.individuallending.rest;
 
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.DataContextService;
-import io.mifos.individuallending.internal.service.IndividualLoanService;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.Case;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
-
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextService;
+import org.apache.fineract.cn.individuallending.internal.service.IndividualLoanService;
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
 import java.time.LocalDate;
 import java.util.Collections;
 import java.util.Optional;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+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.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/portfolio/service/PortfolioApplication.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/PortfolioApplication.java
similarity index 88%
rename from service/src/main/java/io/mifos/portfolio/service/PortfolioApplication.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/PortfolioApplication.java
index 01bd9af..40c4b35 100644
--- a/service/src/main/java/io/mifos/portfolio/service/PortfolioApplication.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/PortfolioApplication.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service;
+package org.apache.fineract.cn.portfolio.service;
 
-import io.mifos.portfolio.service.config.PortfolioServiceConfiguration;
+import org.apache.fineract.cn.portfolio.service.config.PortfolioServiceConfiguration;
 import org.springframework.boot.SpringApplication;
 
 public class PortfolioApplication {
diff --git a/service/src/main/java/io/mifos/portfolio/service/ServiceConstants.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/ServiceConstants.java
similarity index 94%
rename from service/src/main/java/io/mifos/portfolio/service/ServiceConstants.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/ServiceConstants.java
index cce0349..f8e16b0 100644
--- a/service/src/main/java/io/mifos/portfolio/service/ServiceConstants.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/ServiceConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service;
+package org.apache.fineract.cn.portfolio.service;
 
 public interface ServiceConstants {
   String LOGGER_NAME = "portfolio-logger";
diff --git a/service/src/main/java/io/mifos/portfolio/service/config/PortfolioProperties.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioProperties.java
similarity index 94%
rename from service/src/main/java/io/mifos/portfolio/service/config/PortfolioProperties.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioProperties.java
index 41895f0..7b73051 100644
--- a/service/src/main/java/io/mifos/portfolio/service/config/PortfolioProperties.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioProperties.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.config;
+package org.apache.fineract.cn.portfolio.service.config;
 
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
 import org.hibernate.validator.constraints.Range;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
diff --git a/service/src/main/java/io/mifos/portfolio/service/config/PortfolioServiceConfiguration.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
similarity index 67%
rename from service/src/main/java/io/mifos/portfolio/service/config/PortfolioServiceConfiguration.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
index 0a48174..5ac8938 100644
--- a/service/src/main/java/io/mifos/portfolio/service/config/PortfolioServiceConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
@@ -16,22 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.config;
+package org.apache.fineract.cn.portfolio.service.config;
 
 import com.google.gson.Gson;
-import io.mifos.accounting.api.v1.client.LedgerManager;
-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.EnableApplicationName;
-import io.mifos.core.lang.config.EnableServiceException;
-import io.mifos.core.lang.config.EnableTenantContext;
-import io.mifos.core.mariadb.config.EnableMariaDB;
-import io.mifos.customer.api.v1.client.CustomerManager;
-import io.mifos.individuallending.IndividualLendingConfiguration;
-import io.mifos.portfolio.service.ServiceConstants;
-import io.mifos.rhythm.api.v1.client.RhythmManager;
+import org.apache.fineract.cn.individuallending.IndividualLendingConfiguration;
+import org.apache.fineract.cn.portfolio.service.ServiceConstants;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerManager;
+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.customer.api.v1.client.CustomerManager;
+import org.apache.fineract.cn.lang.config.EnableApplicationName;
+import org.apache.fineract.cn.lang.config.EnableServiceException;
+import org.apache.fineract.cn.lang.config.EnableTenantContext;
+import org.apache.fineract.cn.mariadb.config.EnableMariaDB;
+import org.apache.fineract.cn.rhythm.api.v1.client.RhythmManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -58,12 +58,12 @@
 @EnableAnubis
 @EnableServiceException
 @ComponentScan({
-    "io.mifos.portfolio.service.rest",
-    "io.mifos.portfolio.service.internal",
-    "io.mifos.portfolio.service.config",
+    "org.apache.fineract.cn.portfolio.service.rest",
+    "org.apache.fineract.cn.portfolio.service.internal",
+    "org.apache.fineract.cn.portfolio.service.config",
 })
-@EnableJpaRepositories(basePackages = "io.mifos.portfolio.service.internal.repository")
-@EntityScan(basePackages = "io.mifos.portfolio.service.internal.repository")
+@EnableJpaRepositories(basePackages = "org.apache.fineract.cn.portfolio.service.internal.repository")
+@EntityScan(basePackages = "org.apache.fineract.cn.portfolio.service.internal.repository")
 @EnableFeignClients(clients = {LedgerManager.class, RhythmManager.class, CustomerManager.class})
 @RibbonClient(name = "portfolio-v1")
 @EnableApplicationName
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/checker/CaseChecker.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/checker/CaseChecker.java
similarity index 80%
rename from service/src/main/java/io/mifos/portfolio/service/internal/checker/CaseChecker.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/checker/CaseChecker.java
index 602b5d2..c4b0b9f 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/checker/CaseChecker.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/checker/CaseChecker.java
@@ -16,23 +16,22 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.checker;
+package org.apache.fineract.cn.portfolio.service.internal.checker;
 
-import io.mifos.core.lang.ServiceException;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.InterestRange;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.service.internal.pattern.PatternFactoryRegistry;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import io.mifos.portfolio.service.internal.service.CaseService;
-import io.mifos.portfolio.service.internal.service.ProductService;
-import io.mifos.products.spi.PatternFactory;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.InterestRange;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.service.internal.pattern.PatternFactoryRegistry;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+import org.apache.fineract.cn.products.spi.PatternFactory;
+import java.math.BigDecimal;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.math.BigDecimal;
-
 /**
  * @author Myrle Krantz
  */
@@ -56,7 +55,8 @@ public CaseChecker(final CaseService caseService,
 
   public void checkForCreate(final String productIdentifier, final Case instance) {
     caseService.findByIdentifier(productIdentifier, instance.getIdentifier())
-        .ifPresent(x -> {throw ServiceException.conflict("Duplicate identifier: " + productIdentifier + "." + x.getIdentifier());});
+        .ifPresent(x -> {throw ServiceException
+            .conflict("Duplicate identifier: " + productIdentifier + "." + x.getIdentifier());});
 
     final Product product = productService.findByIdentifier(productIdentifier)
         .orElseThrow(() -> ServiceException.badRequest("Product must exist ''{0}''.", productIdentifier));
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeBalanceSegmentSetCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeBalanceSegmentSetCommand.java
similarity index 93%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeBalanceSegmentSetCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeBalanceSegmentSetCommand.java
index 272a59c..cc8cbce 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeBalanceSegmentSetCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeBalanceSegmentSetCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
 
 import java.util.Objects;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeCaseCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeCaseCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeCaseCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeCaseCommand.java
index 24dda68..f7a60dd 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeCaseCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeCaseCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeChargeDefinitionCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeChargeDefinitionCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeChargeDefinitionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeChargeDefinitionCommand.java
index 9ded607..6d512fd 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeChargeDefinitionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeChargeDefinitionCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeEnablingOfProductCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeEnablingOfProductCommand.java
similarity index 95%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeEnablingOfProductCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeEnablingOfProductCommand.java
index 9182479..d703912 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeEnablingOfProductCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeEnablingOfProductCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeProductCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeProductCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeProductCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeProductCommand.java
index f6c0e95..151f3f1 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeProductCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeProductCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeTaskDefinitionCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeTaskDefinitionCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeTaskDefinitionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeTaskDefinitionCommand.java
index 452dfd8..966e4bc 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeTaskDefinitionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeTaskDefinitionCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeTaskInstanceCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeTaskInstanceCommand.java
similarity index 92%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeTaskInstanceCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeTaskInstanceCommand.java
index 827a388..3cf9a3c 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ChangeTaskInstanceCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ChangeTaskInstanceCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateBalanceSegmentSetCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateBalanceSegmentSetCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/CreateBalanceSegmentSetCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateBalanceSegmentSetCommand.java
index 4222c6a..f71751d 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateBalanceSegmentSetCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateBalanceSegmentSetCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateBeatPublishCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateBeatPublishCommand.java
similarity index 90%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/CreateBeatPublishCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateBeatPublishCommand.java
index f08314f..a7c510e 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateBeatPublishCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateBeatPublishCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.rhythm.spi.v1.domain.BeatPublish;
+import org.apache.fineract.cn.rhythm.spi.v1.domain.BeatPublish;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateCaseCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateCaseCommand.java
similarity index 90%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/CreateCaseCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateCaseCommand.java
index d59987b..6092132 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateCaseCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateCaseCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateChargeDefinitionCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateChargeDefinitionCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/CreateChargeDefinitionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateChargeDefinitionCommand.java
index 9e3db0a..be59f10 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateChargeDefinitionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateChargeDefinitionCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateProductCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateProductCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/CreateProductCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateProductCommand.java
index 691da47..0945897 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateProductCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateProductCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateTaskDefinitionCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateTaskDefinitionCommand.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/CreateTaskDefinitionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateTaskDefinitionCommand.java
index fd1e813..b1d3882 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/CreateTaskDefinitionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/CreateTaskDefinitionCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteBalanceSegmentSetCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteBalanceSegmentSetCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteBalanceSegmentSetCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteBalanceSegmentSetCommand.java
index 3d41366..6c99d7b 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteBalanceSegmentSetCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteBalanceSegmentSetCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteProductChargeDefinitionCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteProductChargeDefinitionCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteProductChargeDefinitionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteProductChargeDefinitionCommand.java
index e444afe..48cd65f 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteProductChargeDefinitionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteProductChargeDefinitionCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteProductCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteProductCommand.java
similarity index 95%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteProductCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteProductCommand.java
index 10e9fe9..4ad83c3 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteProductCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteProductCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteTaskDefinitionCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteTaskDefinitionCommand.java
similarity index 95%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteTaskDefinitionCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteTaskDefinitionCommand.java
index 20350d8..7696044 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/DeleteTaskDefinitionCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/DeleteTaskDefinitionCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/ExecuteTaskInstanceCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ExecuteTaskInstanceCommand.java
similarity index 96%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/ExecuteTaskInstanceCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ExecuteTaskInstanceCommand.java
index 1c68aa2..815a456 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/ExecuteTaskInstanceCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/ExecuteTaskInstanceCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/InitializeServiceCommand.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/InitializeServiceCommand.java
similarity index 93%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/InitializeServiceCommand.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/InitializeServiceCommand.java
index f072c3e..966d419 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/InitializeServiceCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/InitializeServiceCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command;
+package org.apache.fineract.cn.portfolio.service.internal.command;
 
 public class InitializeServiceCommand {
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/BalanceSegmentSetCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/BalanceSegmentSetCommandHandler.java
similarity index 80%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/BalanceSegmentSetCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/BalanceSegmentSetCommandHandler.java
index ef0e3c6..a4aa588 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/BalanceSegmentSetCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/BalanceSegmentSetCommandHandler.java
@@ -16,28 +16,27 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.events.BalanceSegmentSetEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.service.internal.command.ChangeBalanceSegmentSetCommand;
-import io.mifos.portfolio.service.internal.command.CreateBalanceSegmentSetCommand;
-import io.mifos.portfolio.service.internal.command.DeleteBalanceSegmentSetCommand;
-import io.mifos.portfolio.service.internal.mapper.BalanceSegmentSetMapper;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentEntity;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
+
+import org.apache.fineract.cn.portfolio.api.v1.events.BalanceSegmentSetEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeBalanceSegmentSetCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateBalanceSegmentSetCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteBalanceSegmentSetCommand;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.BalanceSegmentSetMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
 import java.util.List;
 import java.util.stream.Collectors;
+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.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/CaseCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/CaseCommandHandler.java
similarity index 72%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/CaseCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/CaseCommandHandler.java
index 31487ae..1e84315 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/CaseCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/CaseCommandHandler.java
@@ -16,27 +16,32 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.events.CaseEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.service.internal.command.ChangeCaseCommand;
-import io.mifos.portfolio.service.internal.command.CreateCaseCommand;
-import io.mifos.portfolio.service.internal.mapper.CaseMapper;
-import io.mifos.portfolio.service.internal.pattern.PatternFactoryRegistry;
-import io.mifos.portfolio.service.internal.repository.*;
-import io.mifos.products.spi.PatternFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.events.CaseEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeCaseCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateCaseCommand;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.CaseMapper;
+import org.apache.fineract.cn.portfolio.service.internal.pattern.PatternFactoryRegistry;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceEntity;
+import org.apache.fineract.cn.products.spi.PatternFactory;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+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.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
@@ -98,7 +103,8 @@ public CaseEvent process(final ChangeCaseCommand changeCaseCommand) {
 
     final CaseEntity oldEntity = caseRepository
             .findByProductIdentifierAndIdentifier(instance.getProductIdentifier(), instance.getIdentifier())
-            .orElseThrow(() -> ServiceException.notFound("Case not found '" + instance.getIdentifier() + "'."));
+            .orElseThrow(() -> ServiceException
+                .notFound("Case not found '" + instance.getIdentifier() + "'."));
 
     final CaseEntity newEntity = CaseMapper.mapOverOldEntity(instance, oldEntity);
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandler.java
similarity index 81%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandler.java
index fa5dc6e..068277a 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandler.java
@@ -16,26 +16,30 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.events.ChargeDefinitionEvent;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.service.internal.command.ChangeChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.CreateChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.DeleteProductChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.mapper.ChargeDefinitionMapper;
-import io.mifos.portfolio.service.internal.repository.*;
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.events.ChargeDefinitionEvent;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteProductChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.ChargeDefinitionMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import java.util.Optional;
+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.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Optional;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/InitializeCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/InitializeCommandHandler.java
similarity index 76%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/InitializeCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/InitializeCommandHandler.java
index 3996985..c143aab 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/InitializeCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/InitializeCommandHandler.java
@@ -16,21 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command.handler;
+package org.apache.fineract.cn.portfolio.service.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.mariadb.domain.FlywayFactoryBean;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.service.internal.command.InitializeServiceCommand;
-import io.mifos.portfolio.service.internal.util.RhythmAdapter;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.service.internal.command.InitializeServiceCommand;
+import org.apache.fineract.cn.portfolio.service.internal.util.RhythmAdapter;
+import javax.sql.DataSource;
+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.mariadb.domain.FlywayFactoryBean;
 import org.flywaydb.core.Flyway;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import javax.sql.DataSource;
-
 @SuppressWarnings({
     "unused"
 })
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/ProductCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ProductCommandHandler.java
similarity index 81%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/ProductCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ProductCommandHandler.java
index 27e08c2..b2f4278 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/ProductCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ProductCommandHandler.java
@@ -16,37 +16,41 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.service.internal.command.ChangeEnablingOfProductCommand;
-import io.mifos.portfolio.service.internal.command.ChangeProductCommand;
-import io.mifos.portfolio.service.internal.command.CreateProductCommand;
-import io.mifos.portfolio.service.internal.command.DeleteProductCommand;
-import io.mifos.portfolio.service.internal.mapper.ChargeDefinitionMapper;
-import io.mifos.portfolio.service.internal.mapper.ProductMapper;
-import io.mifos.portfolio.service.internal.pattern.PatternFactoryRegistry;
-import io.mifos.portfolio.service.internal.repository.*;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-import io.mifos.products.spi.PatternFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeEnablingOfProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.ChargeDefinitionMapper;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.ProductMapper;
+import org.apache.fineract.cn.portfolio.service.internal.pattern.PatternFactoryRegistry;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
+import org.apache.fineract.cn.products.spi.PatternFactory;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+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.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @author Myrle Krantz
@@ -103,7 +107,8 @@ public String process(final ChangeProductCommand changeProductCommand) {
     final Product instance = changeProductCommand.getInstance();
 
     if (caseRepository.existsByProductIdentifier(instance.getIdentifier()))
-      throw ServiceException.conflict("Cases exist for product with the identifier '" + instance.getIdentifier() + "'. Product cannot be changed.");
+      throw ServiceException
+          .conflict("Cases exist for product with the identifier '" + instance.getIdentifier() + "'. Product cannot be changed.");
 
     final ProductEntity oldEntity = productRepository
             .findByIdentifier(instance.getIdentifier())
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/TaskDefinitionCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/TaskDefinitionCommandHandler.java
similarity index 77%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/TaskDefinitionCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/TaskDefinitionCommandHandler.java
index 03af496..5da7388 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/TaskDefinitionCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/TaskDefinitionCommandHandler.java
@@ -16,24 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command.handler;
-
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.api.v1.events.TaskDefinitionEvent;
-import io.mifos.portfolio.service.internal.command.ChangeTaskDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.CreateTaskDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.DeleteTaskDefinitionCommand;
-import io.mifos.portfolio.service.internal.mapper.TaskDefinitionMapper;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import io.mifos.portfolio.service.internal.repository.TaskDefinitionEntity;
-import io.mifos.portfolio.service.internal.repository.TaskDefinitionRepository;
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.core.lang.ServiceException;
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskDefinitionEvent;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeTaskDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateTaskDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteTaskDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.TaskDefinitionMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionRepository;
+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.lang.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 
 /**
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/TaskInstanceCommandHandler.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/TaskInstanceCommandHandler.java
similarity index 78%
rename from service/src/main/java/io/mifos/portfolio/service/internal/command/handler/TaskInstanceCommandHandler.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/TaskInstanceCommandHandler.java
index 8c491d3..1149d5d 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/command/handler/TaskInstanceCommandHandler.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/TaskInstanceCommandHandler.java
@@ -16,26 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command.handler;
-
-import io.mifos.core.api.util.UserContextHolder;
-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.portfolio.api.v1.domain.TaskInstance;
-import io.mifos.portfolio.api.v1.events.EventConstants;
-import io.mifos.portfolio.api.v1.events.TaskInstanceEvent;
-import io.mifos.portfolio.service.internal.command.ChangeTaskInstanceCommand;
-import io.mifos.portfolio.service.internal.command.ExecuteTaskInstanceCommand;
-import io.mifos.portfolio.service.internal.mapper.TaskInstanceMapper;
-import io.mifos.portfolio.service.internal.repository.TaskInstanceEntity;
-import io.mifos.portfolio.service.internal.repository.TaskInstanceRepository;
-import org.springframework.beans.factory.annotation.Autowired;
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
 
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.api.v1.events.EventConstants;
+import org.apache.fineract.cn.portfolio.api.v1.events.TaskInstanceEvent;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeTaskInstanceCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.ExecuteTaskInstanceCommand;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.TaskInstanceMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceRepository;
 import java.time.Clock;
 import java.time.LocalDateTime;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+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.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/BalanceSegmentSetMapper.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/BalanceSegmentSetMapper.java
similarity index 88%
rename from service/src/main/java/io/mifos/portfolio/service/internal/mapper/BalanceSegmentSetMapper.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/BalanceSegmentSetMapper.java
index 7550e26..d8c7816 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/BalanceSegmentSetMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/BalanceSegmentSetMapper.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.mapper;
+package org.apache.fineract.cn.portfolio.service.internal.mapper;
 
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
 
 import java.util.ArrayList;
 import java.util.Comparator;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/CaseMapper.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/CaseMapper.java
similarity index 90%
rename from service/src/main/java/io/mifos/portfolio/service/internal/mapper/CaseMapper.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/CaseMapper.java
index 2903c84..c437ede 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/CaseMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/CaseMapper.java
@@ -16,21 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.mapper;
-
-import io.mifos.core.api.util.UserContextHolder;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CaseStatus;
-import io.mifos.portfolio.service.internal.repository.CaseAccountAssignmentEntity;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
+package org.apache.fineract.cn.portfolio.service.internal.mapper;
 
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CaseStatus;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
 import java.time.Clock;
 import java.time.LocalDateTime;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+import org.apache.fineract.cn.lang.DateConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/ChargeDefinitionMapper.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/ChargeDefinitionMapper.java
similarity index 88%
rename from service/src/main/java/io/mifos/portfolio/service/internal/mapper/ChargeDefinitionMapper.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/ChargeDefinitionMapper.java
index 72186b9..95bebcd 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/ChargeDefinitionMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/ChargeDefinitionMapper.java
@@ -16,18 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.mapper;
+package org.apache.fineract.cn.portfolio.service.internal.mapper;
 
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentEntity;
-import io.mifos.portfolio.service.internal.repository.ChargeDefinitionEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
 
 import javax.annotation.Nullable;
 import java.util.Optional;
 
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/ProductMapper.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/ProductMapper.java
similarity index 90%
rename from service/src/main/java/io/mifos/portfolio/service/internal/mapper/ProductMapper.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/ProductMapper.java
index 62e442b..be369c0 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/ProductMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/ProductMapper.java
@@ -16,15 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.mapper;
-
-import io.mifos.core.api.util.UserContextHolder;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-
+package org.apache.fineract.cn.portfolio.service.internal.mapper;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceRange;
+import org.apache.fineract.cn.portfolio.api.v1.domain.InterestRange;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import java.math.BigDecimal;
 import java.time.Clock;
 import java.time.LocalDateTime;
@@ -32,6 +33,8 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+import org.apache.fineract.cn.lang.DateConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/TaskDefinitionMapper.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/TaskDefinitionMapper.java
similarity index 88%
rename from service/src/main/java/io/mifos/portfolio/service/internal/mapper/TaskDefinitionMapper.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/TaskDefinitionMapper.java
index d4b67f6..453927f 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/TaskDefinitionMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/TaskDefinitionMapper.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.mapper;
+package org.apache.fineract.cn.portfolio.service.internal.mapper;
 
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.TaskDefinitionEntity;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionEntity;
 import org.apache.commons.lang.StringUtils;
 
 import java.util.Arrays;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/TaskInstanceMapper.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/TaskInstanceMapper.java
similarity index 86%
rename from service/src/main/java/io/mifos/portfolio/service/internal/mapper/TaskInstanceMapper.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/TaskInstanceMapper.java
index af92416..ad65980 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/mapper/TaskInstanceMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/mapper/TaskInstanceMapper.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.mapper;
+package org.apache.fineract.cn.portfolio.service.internal.mapper;
 
-import io.mifos.core.lang.DateConverter;
-import io.mifos.portfolio.api.v1.domain.TaskInstance;
-import io.mifos.portfolio.service.internal.repository.TaskInstanceEntity;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceEntity;
+import org.apache.fineract.cn.lang.DateConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/pattern/PatternFactoryRegistry.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/pattern/PatternFactoryRegistry.java
similarity index 92%
rename from service/src/main/java/io/mifos/portfolio/service/internal/pattern/PatternFactoryRegistry.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/pattern/PatternFactoryRegistry.java
index c9f9db5..4607e99 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/pattern/PatternFactoryRegistry.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/pattern/PatternFactoryRegistry.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.pattern;
+package org.apache.fineract.cn.portfolio.service.internal.pattern;
 
-import io.mifos.products.spi.PatternFactory;
+import org.apache.fineract.cn.products.spi.PatternFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/BalanceSegmentEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/BalanceSegmentEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/BalanceSegmentEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/BalanceSegmentEntity.java
index df5058c..7156a74 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/BalanceSegmentEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/BalanceSegmentEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import javax.persistence.*;
 import java.math.BigDecimal;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/BalanceSegmentRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/BalanceSegmentRepository.java
similarity index 95%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/BalanceSegmentRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/BalanceSegmentRepository.java
index 16a3d25..c47f849 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/BalanceSegmentRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/BalanceSegmentRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseAccountAssignmentEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseAccountAssignmentEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseAccountAssignmentEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseAccountAssignmentEntity.java
index ad93b7b..8b54e35 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseAccountAssignmentEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseAccountAssignmentEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import javax.persistence.*;
 import java.util.Objects;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseCommandEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseCommandEntity.java
similarity index 88%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseCommandEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseCommandEntity.java
index 21d5593..61b8f12 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseCommandEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseCommandEntity.java
@@ -16,13 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
-import io.mifos.core.mariadb.util.LocalDateTimeConverter;
-
-import javax.persistence.*;
 import java.time.LocalDateTime;
 import java.util.Objects;
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseCommandRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseCommandRepository.java
similarity index 94%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseCommandRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseCommandRepository.java
index 2faa5bd..6002d4c 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseCommandRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseCommandRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseEntity.java
similarity index 91%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseEntity.java
index 5d2366f..03d0969 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseEntity.java
@@ -16,16 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
-import io.mifos.core.mariadb.util.LocalDateTimeConverter;
-
-import javax.annotation.Nullable;
-import javax.persistence.*;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.Objects;
 import java.util.Set;
+import javax.annotation.Nullable;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseRepository.java
similarity index 96%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseRepository.java
index d4b0893..a036d62 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/CaseRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/CaseRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ChargeDefinitionEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ChargeDefinitionEntity.java
similarity index 97%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/ChargeDefinitionEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ChargeDefinitionEntity.java
index a24187f..f3b58d5 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ChargeDefinitionEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ChargeDefinitionEntity.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 
 import javax.persistence.*;
 import java.math.BigDecimal;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ChargeDefinitionRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ChargeDefinitionRepository.java
similarity index 96%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/ChargeDefinitionRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ChargeDefinitionRepository.java
index dec17f0..8277864 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ChargeDefinitionRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ChargeDefinitionRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductAccountAssignmentEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductAccountAssignmentEntity.java
similarity index 94%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductAccountAssignmentEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductAccountAssignmentEntity.java
index 2f980af..fb6f0d7 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductAccountAssignmentEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductAccountAssignmentEntity.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 
 import javax.persistence.*;
 import java.util.Objects;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductEntity.java
similarity index 93%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductEntity.java
index e8504ef..61b2f03 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductEntity.java
@@ -16,17 +16,26 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
-import io.mifos.core.mariadb.util.LocalDateTimeConverter;
-import io.mifos.portfolio.api.v1.domain.InterestBasis;
-
-import javax.persistence.*;
+import org.apache.fineract.cn.portfolio.api.v1.domain.InterestBasis;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
 import java.util.Objects;
 import java.util.Set;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductRepository.java
similarity index 95%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductRepository.java
index 3b25afc..ef49d53 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/ProductRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/ProductRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskDefinitionEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskDefinitionEntity.java
similarity index 98%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskDefinitionEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskDefinitionEntity.java
index 1cce2d3..df59903 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskDefinitionEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskDefinitionEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import javax.persistence.*;
 import java.util.Objects;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskDefinitionRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskDefinitionRepository.java
similarity index 96%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskDefinitionRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskDefinitionRepository.java
index 8aa1325..c4ade51 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskDefinitionRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskDefinitionRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskInstanceEntity.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskInstanceEntity.java
similarity index 85%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskInstanceEntity.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskInstanceEntity.java
index af321ac..82e6b70 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskInstanceEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskInstanceEntity.java
@@ -16,13 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
-import io.mifos.core.mariadb.util.LocalDateTimeConverter;
-
-import javax.persistence.*;
 import java.time.LocalDateTime;
 import java.util.Objects;
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskInstanceRepository.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskInstanceRepository.java
similarity index 97%
rename from service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskInstanceRepository.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskInstanceRepository.java
index 7d75785..1f4a8dd 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/repository/TaskInstanceRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/repository/TaskInstanceRepository.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.repository;
+package org.apache.fineract.cn.portfolio.service.internal.repository;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/BalanceSegmentSetService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/BalanceSegmentSetService.java
similarity index 86%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/BalanceSegmentSetService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/BalanceSegmentSetService.java
index 5a5ba0a..ec8f010 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/BalanceSegmentSetService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/BalanceSegmentSetService.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
-import io.mifos.portfolio.service.internal.mapper.BalanceSegmentSetMapper;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentEntity;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.BalanceSegmentSetMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/CaseService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/CaseService.java
similarity index 85%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/CaseService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/CaseService.java
index 149ed34..b0fa8ce 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/CaseService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/CaseService.java
@@ -16,28 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.CasePage;
-import io.mifos.portfolio.api.v1.domain.CaseStatus;
-import io.mifos.portfolio.api.v1.domain.Payment;
-import io.mifos.portfolio.service.internal.mapper.CaseMapper;
-import io.mifos.portfolio.service.internal.pattern.PatternFactoryRegistry;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.CaseRepository;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import io.mifos.products.spi.PatternFactory;
-import io.mifos.products.spi.ProductCommandDispatcher;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-
+package org.apache.fineract.cn.portfolio.service.internal.service;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CaseStatus;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.CaseMapper;
+import org.apache.fineract.cn.portfolio.service.internal.pattern.PatternFactoryRegistry;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.products.spi.PatternFactory;
+import org.apache.fineract.cn.products.spi.ProductCommandDispatcher;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.Arrays;
@@ -46,6 +38,13 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
 
 /**
  * @author Myrle Krantz
@@ -110,7 +109,8 @@ public CasePage findAllEntities(final String productIdentifier,
 
     return caseRepository.findByProductIdentifierAndIdentifier(productIdentifier, caseIdentifier)
             .map(x -> pattern.getNextActionsForState(Case.State.valueOf(x.getCurrentState())))
-            .orElseThrow(() -> ServiceException.notFound("Case with identifier ''" + productIdentifier + "." + caseIdentifier + "'' doesn''t exist."));
+            .orElseThrow(() -> ServiceException
+                .notFound("Case with identifier ''" + productIdentifier + "." + caseIdentifier + "'' doesn''t exist."));
   }
 
   public ProductCommandDispatcher getProductCommandDispatcher(final String productIdentifier) {
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/ConfigurableChargeDefinitionService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/ConfigurableChargeDefinitionService.java
similarity index 85%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/ConfigurableChargeDefinitionService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/ConfigurableChargeDefinitionService.java
index e183e9e..e522e9e 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/ConfigurableChargeDefinitionService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/ConfigurableChargeDefinitionService.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.mapper.ChargeDefinitionMapper;
-import io.mifos.portfolio.service.internal.repository.ChargeDefinitionRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.ChargeDefinitionMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/PatternService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/PatternService.java
similarity index 85%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/PatternService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/PatternService.java
index 582ece9..c892514 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/PatternService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/PatternService.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.Pattern;
-import io.mifos.portfolio.service.internal.pattern.PatternFactoryRegistry;
-import io.mifos.products.spi.PatternFactory;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.service.internal.pattern.PatternFactoryRegistry;
+import org.apache.fineract.cn.products.spi.PatternFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/ProductService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/ProductService.java
similarity index 90%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/ProductService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/ProductService.java
index 6da45ed..478205b 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/ProductService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/ProductService.java
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
-
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.domain.ProductPage;
-import io.mifos.portfolio.service.internal.mapper.ProductMapper;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.ProductRepository;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
+package org.apache.fineract.cn.portfolio.service.internal.service;
+
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ProductPage;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.ProductMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductRepository;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/TaskDefinitionService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskDefinitionService.java
similarity index 85%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/TaskDefinitionService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskDefinitionService.java
index 4d46f61..d24ceba 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/TaskDefinitionService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskDefinitionService.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.service.internal.mapper.TaskDefinitionMapper;
-import io.mifos.portfolio.service.internal.repository.TaskDefinitionRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.TaskDefinitionMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/service/TaskInstanceService.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskInstanceService.java
similarity index 86%
rename from service/src/main/java/io/mifos/portfolio/service/internal/service/TaskInstanceService.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskInstanceService.java
index e2ba528..77c76e1 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/service/TaskInstanceService.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskInstanceService.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.TaskInstance;
-import io.mifos.portfolio.service.internal.mapper.TaskInstanceMapper;
-import io.mifos.portfolio.service.internal.repository.TaskInstanceEntity;
-import io.mifos.portfolio.service.internal.repository.TaskInstanceRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.TaskInstanceMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskInstanceRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/util/AccountingAdapter.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingAdapter.java
similarity index 90%
rename from service/src/main/java/io/mifos/portfolio/service/internal/util/AccountingAdapter.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingAdapter.java
index 05aeafc..c9bf269 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/util/AccountingAdapter.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingAdapter.java
@@ -16,37 +16,53 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.util;
+package org.apache.fineract.cn.portfolio.service.internal.util;
 
-import com.google.common.collect.Sets;
-import io.mifos.accounting.api.v1.client.*;
-import io.mifos.accounting.api.v1.domain.*;
-import io.mifos.core.api.util.UserContextHolder;
-import io.mifos.core.lang.DateConverter;
-import io.mifos.core.lang.DateRange;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.core.lang.listening.EventExpectation;
-import io.mifos.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.ServiceConstants;
-import org.apache.commons.lang.RandomStringUtils;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators.ENTRY;
 
+import com.google.common.collect.Sets;
+import org.apache.fineract.cn.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.ServiceConstants;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
-
-import static io.mifos.individuallending.api.v1.domain.product.AccountDesignators.ENTRY;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.fineract.cn.accounting.api.v1.client.AccountAlreadyExistsException;
+import org.apache.fineract.cn.accounting.api.v1.client.AccountNotFoundException;
+import org.apache.fineract.cn.accounting.api.v1.client.JournalEntryAlreadyExistsException;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerAlreadyExistsException;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerManager;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerNotFoundException;
+import org.apache.fineract.cn.accounting.api.v1.domain.Account;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountEntry;
+import org.apache.fineract.cn.accounting.api.v1.domain.AccountPage;
+import org.apache.fineract.cn.accounting.api.v1.domain.Creditor;
+import org.apache.fineract.cn.accounting.api.v1.domain.Debtor;
+import org.apache.fineract.cn.accounting.api.v1.domain.JournalEntry;
+import org.apache.fineract.cn.accounting.api.v1.domain.Ledger;
+import org.apache.fineract.cn.api.util.UserContextHolder;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.apache.fineract.cn.lang.DateRange;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.apache.fineract.cn.lang.listening.EventExpectation;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/util/AccountingListener.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingListener.java
similarity index 80%
rename from service/src/main/java/io/mifos/portfolio/service/internal/util/AccountingListener.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingListener.java
index f780bed..e23e2c5 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/util/AccountingListener.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingListener.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.util;
+package org.apache.fineract.cn.portfolio.service.internal.util;
 
-import io.mifos.accounting.api.v1.EventConstants;
-import io.mifos.core.lang.TenantContextHolder;
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.lang.listening.EventExpectation;
-import io.mifos.core.lang.listening.EventKey;
-import io.mifos.core.lang.listening.TenantedEventListener;
+import org.apache.fineract.cn.accounting.api.v1.EventConstants;
+import org.apache.fineract.cn.lang.TenantContextHolder;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.lang.listening.EventExpectation;
+import org.apache.fineract.cn.lang.listening.EventKey;
+import org.apache.fineract.cn.lang.listening.TenantedEventListener;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
 import org.springframework.stereotype.Component;
diff --git a/service/src/main/java/io/mifos/portfolio/service/internal/util/RhythmAdapter.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/RhythmAdapter.java
similarity index 88%
rename from service/src/main/java/io/mifos/portfolio/service/internal/util/RhythmAdapter.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/RhythmAdapter.java
index 8861f95..878027e 100644
--- a/service/src/main/java/io/mifos/portfolio/service/internal/util/RhythmAdapter.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/internal/util/RhythmAdapter.java
@@ -16,19 +16,18 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.util;
+package org.apache.fineract.cn.portfolio.service.internal.util;
 
-import io.mifos.core.lang.ApplicationName;
-import io.mifos.portfolio.service.ServiceConstants;
-import io.mifos.rhythm.api.v1.client.RhythmManager;
-import io.mifos.rhythm.api.v1.domain.Beat;
+import org.apache.fineract.cn.portfolio.service.ServiceConstants;
+import java.util.stream.Stream;
+import org.apache.fineract.cn.lang.ApplicationName;
+import org.apache.fineract.cn.rhythm.api.v1.client.RhythmManager;
+import org.apache.fineract.cn.rhythm.api.v1.domain.Beat;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
-import java.util.stream.Stream;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/BalanceSegmentSetRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/BalanceSegmentSetRestController.java
similarity index 84%
rename from service/src/main/java/io/mifos/portfolio/service/rest/BalanceSegmentSetRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/BalanceSegmentSetRestController.java
index c02bb42..41a28af 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/BalanceSegmentSetRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/BalanceSegmentSetRestController.java
@@ -16,27 +16,31 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.BalanceSegmentSet;
-import io.mifos.portfolio.service.internal.command.ChangeBalanceSegmentSetCommand;
-import io.mifos.portfolio.service.internal.command.CreateBalanceSegmentSetCommand;
-import io.mifos.portfolio.service.internal.command.DeleteBalanceSegmentSetCommand;
-import io.mifos.portfolio.service.internal.service.BalanceSegmentSetService;
-import io.mifos.portfolio.service.internal.service.CaseService;
-import io.mifos.portfolio.service.internal.service.ProductService;
+package org.apache.fineract.cn.portfolio.service.rest;
+
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.BalanceSegmentSet;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeBalanceSegmentSetCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateBalanceSegmentSetCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteBalanceSegmentSetCommand;
+import org.apache.fineract.cn.portfolio.service.internal.service.BalanceSegmentSetService;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+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.lang.ServiceException;
 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;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/CaseRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/CaseRestController.java
similarity index 86%
rename from service/src/main/java/io/mifos/portfolio/service/rest/CaseRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/CaseRestController.java
index d29aabd..7418285 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/CaseRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/CaseRestController.java
@@ -16,37 +16,47 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.DateConverter;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.core.lang.validation.constraints.ValidLocalDateTimeString;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.*;
-import io.mifos.portfolio.service.internal.checker.CaseChecker;
-import io.mifos.portfolio.service.internal.command.ChangeCaseCommand;
-import io.mifos.portfolio.service.internal.command.CreateCaseCommand;
-import io.mifos.portfolio.service.internal.service.CaseService;
-import io.mifos.portfolio.service.internal.service.ProductService;
-import io.mifos.portfolio.service.internal.service.TaskInstanceService;
-import io.mifos.products.spi.ProductCommandDispatcher;
+package org.apache.fineract.cn.portfolio.service.rest;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CaseStatus;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ImportParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.service.internal.checker.CaseChecker;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeCaseCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateCaseCommand;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+import org.apache.fineract.cn.portfolio.service.internal.service.TaskInstanceService;
+import org.apache.fineract.cn.products.spi.ProductCommandDispatcher;
+import java.math.BigDecimal;
+import java.time.Clock;
+import java.time.LocalDateTime;
+import java.util.Set;
+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.api.util.UserContextHolder;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.lang.DateConverter;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.apache.fineract.cn.lang.validation.constraints.ValidLocalDateTimeString;
 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.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.math.BigDecimal;
-import java.time.Clock;
-import java.time.LocalDateTime;
-import java.util.Set;
+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.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @author Myrle Krantz
@@ -221,7 +231,8 @@ Payment getCostComponentsForAction(
     if (forPaymentSize != null && forPaymentSize.compareTo(BigDecimal.ZERO) < 0)
       throw ServiceException.badRequest("forpaymentsize can''t be negative.");
 
-    final LocalDateTime forDateTime = StringUtils.isEmpty(forDateTimeString) ? LocalDateTime.now(Clock.systemUTC()) : DateConverter.fromIsoString(forDateTimeString);
+    final LocalDateTime forDateTime = StringUtils.isEmpty(forDateTimeString) ? LocalDateTime.now(Clock.systemUTC()) : DateConverter
+        .fromIsoString(forDateTimeString);
 
     return caseService.getActionCostComponentsForCase(
         productIdentifier,
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/ChargeDefinitionRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/ChargeDefinitionRestController.java
similarity index 84%
rename from service/src/main/java/io/mifos/portfolio/service/rest/ChargeDefinitionRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/ChargeDefinitionRestController.java
index 4e59ab2..f6f8f3c 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/ChargeDefinitionRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/ChargeDefinitionRestController.java
@@ -16,29 +16,33 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.rest;
-
-
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.command.ChangeChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.CreateChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.DeleteProductChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.service.ConfigurableChargeDefinitionService;
-import io.mifos.portfolio.service.internal.service.ProductService;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
+package org.apache.fineract.cn.portfolio.service.rest;
+
+
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteProductChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.service.ConfigurableChargeDefinitionService;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+import java.util.List;
+import java.util.stream.Collectors;
+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.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 java.util.stream.Collectors;
+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/portfolio/service/rest/InitializeRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/InitializeRestController.java
similarity index 85%
rename from service/src/main/java/io/mifos/portfolio/service/rest/InitializeRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/InitializeRestController.java
index ede9eff..81828fc 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/InitializeRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/InitializeRestController.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.rest;
+package org.apache.fineract.cn.portfolio.service.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.portfolio.service.internal.command.InitializeServiceCommand;
-import io.mifos.core.command.gateway.CommandGateway;
+import org.apache.fineract.cn.portfolio.service.internal.command.InitializeServiceCommand;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/PatternRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/PatternRestController.java
similarity index 82%
rename from service/src/main/java/io/mifos/portfolio/service/rest/PatternRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/PatternRestController.java
index 72d2a9d..ffeb4e1 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/PatternRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/PatternRestController.java
@@ -16,13 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.rest;
+package org.apache.fineract.cn.portfolio.service.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.Pattern;
-import io.mifos.portfolio.service.internal.service.PatternService;
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.service.internal.service.PatternService;
+import java.util.List;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,8 +31,6 @@
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 @SuppressWarnings("unused")
 @RestController
 @RequestMapping("/patterns")
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/ProductRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/ProductRestController.java
similarity index 83%
rename from service/src/main/java/io/mifos/portfolio/service/rest/ProductRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/ProductRestController.java
index db88115..b4d44a6 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/ProductRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/ProductRestController.java
@@ -16,39 +16,44 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.api.v1.domain.Pattern;
-import io.mifos.portfolio.api.v1.domain.Product;
-import io.mifos.portfolio.api.v1.domain.ProductPage;
-import io.mifos.portfolio.api.v1.validation.CheckValidSortColumn;
-import io.mifos.portfolio.api.v1.validation.CheckValidSortDirection;
-import io.mifos.portfolio.api.v1.validation.ValidSortDirection;
-import io.mifos.portfolio.service.internal.command.ChangeEnablingOfProductCommand;
-import io.mifos.portfolio.service.internal.command.ChangeProductCommand;
-import io.mifos.portfolio.service.internal.command.CreateProductCommand;
-import io.mifos.portfolio.service.internal.command.DeleteProductCommand;
-import io.mifos.portfolio.service.internal.service.CaseService;
-import io.mifos.portfolio.service.internal.service.PatternService;
-import io.mifos.portfolio.service.internal.service.ProductService;
+package org.apache.fineract.cn.portfolio.service.rest;
+
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Product;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ProductPage;
+import org.apache.fineract.cn.portfolio.api.v1.validation.CheckValidSortColumn;
+import org.apache.fineract.cn.portfolio.api.v1.validation.CheckValidSortDirection;
+import org.apache.fineract.cn.portfolio.api.v1.validation.ValidSortDirection;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeEnablingOfProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteProductCommand;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.portfolio.service.internal.service.PatternService;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+import javax.annotation.Nullable;
+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.api.util.UserContextHolder;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+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.annotation.Nullable;
-import javax.validation.Valid;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
+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.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @author Myrle Krantz
@@ -86,7 +91,8 @@ ProductPage getProducts(@RequestParam(value = "includeDisabled", required = fals
                           @RequestParam(value = "sortColumn", required = false) final String sortColumn,
                           @RequestParam(value = "sortDirection", required = false) final @Valid @ValidSortDirection String sortDirection) {
     if (!CheckValidSortColumn.validate(sortColumn, VALID_SORT_COLUMNS))
-      throw ServiceException.badRequest("Invalid sort column ''{0}''.  Valid inputs are ''{1}''.", sortColumn, VALID_SORT_COLUMNS);
+      throw ServiceException
+          .badRequest("Invalid sort column ''{0}''.  Valid inputs are ''{1}''.", sortColumn, VALID_SORT_COLUMNS);
     if (!CheckValidSortDirection.validate(sortDirection))
       throw ServiceException.badRequest("Invalid sort direction ''{0}''.", sortDirection);
     return this.productService.findEntities(includeDisabled, term, pageIndex, size, sortColumn, sortDirection);
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/TaskDefinitionRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/TaskDefinitionRestController.java
similarity index 83%
rename from service/src/main/java/io/mifos/portfolio/service/rest/TaskDefinitionRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/TaskDefinitionRestController.java
index 7291978..7ef66c8 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/TaskDefinitionRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/TaskDefinitionRestController.java
@@ -16,28 +16,32 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.service.internal.command.ChangeTaskDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.CreateTaskDefinitionCommand;
-import io.mifos.portfolio.service.internal.command.DeleteTaskDefinitionCommand;
-import io.mifos.portfolio.service.internal.service.CaseService;
-import io.mifos.portfolio.service.internal.service.ProductService;
-import io.mifos.portfolio.service.internal.service.TaskDefinitionService;
+package org.apache.fineract.cn.portfolio.service.rest;
+
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeTaskDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.CreateTaskDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteTaskDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.portfolio.service.internal.service.ProductService;
+import org.apache.fineract.cn.portfolio.service.internal.service.TaskDefinitionService;
+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.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;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/main/java/io/mifos/portfolio/service/rest/TaskInstanceRestController.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/TaskInstanceRestController.java
similarity index 79%
rename from service/src/main/java/io/mifos/portfolio/service/rest/TaskInstanceRestController.java
rename to service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/TaskInstanceRestController.java
index 91d5c7c..9c2c3e2 100644
--- a/service/src/main/java/io/mifos/portfolio/service/rest/TaskInstanceRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/rest/TaskInstanceRestController.java
@@ -16,29 +16,34 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.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.portfolio.api.v1.PermittableGroupIds;
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.api.v1.domain.TaskInstance;
-import io.mifos.portfolio.service.internal.command.ChangeTaskInstanceCommand;
-import io.mifos.portfolio.service.internal.command.ExecuteTaskInstanceCommand;
-import io.mifos.portfolio.service.internal.service.CaseService;
-import io.mifos.portfolio.service.internal.service.TaskDefinitionService;
-import io.mifos.portfolio.service.internal.service.TaskInstanceService;
+package org.apache.fineract.cn.portfolio.service.rest;
+
+import org.apache.fineract.cn.portfolio.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskInstance;
+import org.apache.fineract.cn.portfolio.service.internal.command.ChangeTaskInstanceCommand;
+import org.apache.fineract.cn.portfolio.service.internal.command.ExecuteTaskInstanceCommand;
+import org.apache.fineract.cn.portfolio.service.internal.service.CaseService;
+import org.apache.fineract.cn.portfolio.service.internal.service.TaskDefinitionService;
+import org.apache.fineract.cn.portfolio.service.internal.service.TaskInstanceService;
+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.api.util.UserContextHolder;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+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.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.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @author Myrle Krantz
@@ -153,7 +158,8 @@ TaskInstance getTaskForCase(@PathVariable("productidentifier") final String prod
   private TaskDefinition checkedGetTaskDefinition(final String productIdentifier,
                                                   final String taskDefinitionIdentifier) throws ServiceException {
     return taskDefinitionService.findByIdentifier(productIdentifier, taskDefinitionIdentifier)
-        .orElseThrow(() -> ServiceException.notFound("No task with the identifier ''{0}.{1}'' exists.", productIdentifier, taskDefinitionIdentifier));
+        .orElseThrow(() -> ServiceException
+            .notFound("No task with the identifier ''{0}.{1}'' exists.", productIdentifier, taskDefinitionIdentifier));
   }
 
   private Case checkedGetCase(final String productIdentifier, final String caseIdentifier) throws ServiceException {
diff --git a/service/src/main/java/io/mifos/products/spi/PatternFactory.java b/service/src/main/java/org/apache/fineract/cn/products/spi/PatternFactory.java
similarity index 84%
rename from service/src/main/java/io/mifos/products/spi/PatternFactory.java
rename to service/src/main/java/org/apache/fineract/cn/products/spi/PatternFactory.java
index bbccd42..318605f 100644
--- a/service/src/main/java/io/mifos/products/spi/PatternFactory.java
+++ b/service/src/main/java/org/apache/fineract/cn/products/spi/PatternFactory.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.products.spi;
+package org.apache.fineract.cn.products.spi;
 
 
-import io.mifos.portfolio.api.v1.domain.Case;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.Pattern;
-import io.mifos.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Case;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
diff --git a/service/src/main/java/io/mifos/products/spi/ProductCommandDispatcher.java b/service/src/main/java/org/apache/fineract/cn/products/spi/ProductCommandDispatcher.java
similarity index 85%
rename from service/src/main/java/io/mifos/products/spi/ProductCommandDispatcher.java
rename to service/src/main/java/org/apache/fineract/cn/products/spi/ProductCommandDispatcher.java
index a39e69d..24cf62f 100644
--- a/service/src/main/java/io/mifos/products/spi/ProductCommandDispatcher.java
+++ b/service/src/main/java/org/apache/fineract/cn/products/spi/ProductCommandDispatcher.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.products.spi;
+package org.apache.fineract.cn.products.spi;
 
-import io.mifos.portfolio.api.v1.domain.Command;
-import io.mifos.portfolio.api.v1.domain.ImportParameters;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Command;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ImportParameters;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/DefaultChargeDefinitionsMocker.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/DefaultChargeDefinitionsMocker.java
similarity index 95%
rename from service/src/test/java/io/mifos/individuallending/internal/service/DefaultChargeDefinitionsMocker.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/DefaultChargeDefinitionsMocker.java
index 3226838..4e0d1ea 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/DefaultChargeDefinitionsMocker.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/DefaultChargeDefinitionsMocker.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 import org.mockito.Mockito;
 
 import java.util.List;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/DesignatorToAccountIdentifierMapperTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/DesignatorToAccountIdentifierMapperTest.java
similarity index 96%
rename from service/src/test/java/io/mifos/individuallending/internal/service/DesignatorToAccountIdentifierMapperTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/DesignatorToAccountIdentifierMapperTest.java
index 8b269af..39e5dd6 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/DesignatorToAccountIdentifierMapperTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/DesignatorToAccountIdentifierMapperTest.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.api.v1.domain.AccountAssignment;
-import io.mifos.portfolio.service.internal.repository.CaseAccountAssignmentEntity;
-import io.mifos.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.api.v1.domain.AccountAssignment;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/Fixture.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/Fixture.java
similarity index 84%
rename from service/src/test/java/io/mifos/individuallending/internal/service/Fixture.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/Fixture.java
index d4746e8..a223844 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/Fixture.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/Fixture.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.PaymentCycle;
-import io.mifos.portfolio.api.v1.domain.TermRange;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
 import org.junit.Assert;
 
 import java.math.BigDecimal;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/IndividualLoanServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/IndividualLoanServiceTest.java
similarity index 91%
rename from service/src/test/java/io/mifos/individuallending/internal/service/IndividualLoanServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/IndividualLoanServiceTest.java
index 1f1b794..9a34008 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/IndividualLoanServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/IndividualLoanServiceTest.java
@@ -16,27 +16,27 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
-
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.caseinstance.ChargeName;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPayment;
-import io.mifos.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.mapper.CaseParametersMapper;
-import io.mifos.individuallending.internal.service.schedule.ScheduledAction;
-import io.mifos.individuallending.internal.service.schedule.ScheduledActionHelpers;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.api.v1.domain.CostComponent;
-import io.mifos.portfolio.api.v1.domain.PaymentCycle;
-import io.mifos.portfolio.api.v1.domain.TermRange;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
+package org.apache.fineract.cn.individuallending.internal.service;
+
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.ChargeName;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPayment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.PlannedPaymentPage;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.mapper.CaseParametersMapper;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledAction;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledActionHelpers;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -51,7 +51,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import static io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers.*;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/RateCollectorsTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/RateCollectorsTest.java
similarity index 98%
rename from service/src/test/java/io/mifos/individuallending/internal/service/RateCollectorsTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/RateCollectorsTest.java
index c4b4345..4955e40 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/RateCollectorsTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/RateCollectorsTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service;
+package org.apache.fineract.cn.individuallending.internal.service;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/AcceptPaymentBuilderServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AcceptPaymentBuilderServiceTest.java
similarity index 92%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/AcceptPaymentBuilderServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AcceptPaymentBuilderServiceTest.java
index 11eb441..6b76dbf 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/AcceptPaymentBuilderServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/AcceptPaymentBuilderServiceTest.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.CostComponent;
-import io.mifos.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderServiceTest.java
similarity index 84%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderServiceTest.java
index 4ee73d3..b8d5485 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/ApplyInterestPaymentBuilderServiceTest.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/CostComponentServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/CostComponentServiceTest.java
similarity index 88%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/CostComponentServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/CostComponentServiceTest.java
index 750c1d0..95211e5 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/CostComponentServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/CostComponentServiceTest.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
 import java.math.BigDecimal;
 import java.util.*;
 
-import static io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator.REQUESTED_DISBURSEMENT_DESIGNATOR;
-import static io.mifos.individuallending.api.v1.domain.product.ChargeProportionalDesignator.RUNNING_BALANCE_DESIGNATOR;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator.REQUESTED_DISBURSEMENT_DESIGNATOR;
+import static org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeProportionalDesignator.RUNNING_BALANCE_DESIGNATOR;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/DisbursePaymentBuilderServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DisbursePaymentBuilderServiceTest.java
similarity index 81%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/DisbursePaymentBuilderServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DisbursePaymentBuilderServiceTest.java
index 4f30696..ce2a459 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/DisbursePaymentBuilderServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/DisbursePaymentBuilderServiceTest.java
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers;
-import io.mifos.individuallending.api.v1.domain.product.LossProvisionStep;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.LossProvisionStepService;
-import io.mifos.individuallending.internal.service.schedule.LossProvisionChargesService;
-import io.mifos.portfolio.api.v1.domain.CostComponent;
-import io.mifos.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.LossProvisionStep;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.LossProvisionStepService;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.LossProvisionChargesService;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestCase.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestCase.java
similarity index 97%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestCase.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestCase.java
index 3784906..55baf3a 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestCase.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestCase.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestHarness.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestHarness.java
similarity index 79%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestHarness.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestHarness.java
index f8ace2c..02f4501 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestHarness.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderServiceTestHarness.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.individuallending.internal.repository.CaseParametersEntity;
-import io.mifos.individuallending.internal.service.ChargeDefinitionService;
-import io.mifos.individuallending.internal.service.DataContextOfAction;
-import io.mifos.individuallending.internal.service.DefaultChargeDefinitionsMocker;
-import io.mifos.individuallending.internal.service.schedule.ScheduledChargesService;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
-import io.mifos.portfolio.service.internal.repository.CaseEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.internal.repository.CaseParametersEntity;
+import org.apache.fineract.cn.individuallending.internal.service.ChargeDefinitionService;
+import org.apache.fineract.cn.individuallending.internal.service.DataContextOfAction;
+import org.apache.fineract.cn.individuallending.internal.service.DefaultChargeDefinitionsMocker;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledChargesService;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.CaseEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
 import org.mockito.Mockito;
 
 import java.time.temporal.ChronoUnit;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderTest.java
similarity index 89%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderTest.java
index 851bc8b..03cba2b 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PaymentBuilderTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PaymentBuilderTest.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PeriodChargeCalculatorTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PeriodChargeCalculatorTest.java
similarity index 92%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PeriodChargeCalculatorTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PeriodChargeCalculatorTest.java
index 1e9c209..0df3300 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/PeriodChargeCalculatorTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/PeriodChargeCalculatorTest.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.internal.service.schedule.Period;
-import io.mifos.individuallending.internal.service.schedule.ScheduledCharge;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.Period;
+import org.apache.fineract.cn.individuallending.internal.service.schedule.ScheduledCharge;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -29,8 +29,8 @@
 import java.time.LocalDate;
 import java.util.*;
 
-import static io.mifos.individuallending.internal.service.Fixture.getPeriod;
-import static io.mifos.individuallending.internal.service.Fixture.scheduledInterestBookingCharge;
+import static org.apache.fineract.cn.individuallending.internal.service.Fixture.getPeriod;
+import static org.apache.fineract.cn.individuallending.internal.service.Fixture.scheduledInterestBookingCharge;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderServiceTest.java
similarity index 85%
rename from service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderServiceTest.java
index f468b3d..91cf884 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/costcomponent/WriteOffPaymentBuilderServiceTest.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.costcomponent;
+package org.apache.fineract.cn.individuallending.internal.service.costcomponent;
 
-import io.mifos.individuallending.api.v1.domain.product.ChargeIdentifiers;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.individuallending.internal.service.DefaultChargeDefinitionsMocker;
-import io.mifos.portfolio.api.v1.domain.CostComponent;
-import io.mifos.portfolio.api.v1.domain.Payment;
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.ChargeIdentifiers;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.internal.service.DefaultChargeDefinitionsMocker;
+import org.apache.fineract.cn.portfolio.api.v1.domain.CostComponent;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Payment;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ChargeRangeTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ChargeRangeTest.java
similarity index 96%
rename from service/src/test/java/io/mifos/individuallending/internal/service/schedule/ChargeRangeTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ChargeRangeTest.java
index 932891e..2b45550 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ChargeRangeTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ChargeRangeTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/PeriodTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/PeriodTest.java
similarity index 97%
rename from service/src/test/java/io/mifos/individuallending/internal/service/schedule/PeriodTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/PeriodTest.java
index e8594fe..ea8a106 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/PeriodTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/PeriodTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
 import org.junit.Assert;
 import org.junit.BeforeClass;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionHelpersTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionHelpersTest.java
similarity index 97%
rename from service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionHelpersTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionHelpersTest.java
index 1b9cebd..0b8274d 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionHelpersTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionHelpersTest.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.api.v1.domain.caseinstance.CaseParameters;
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.PaymentCycle;
-import io.mifos.portfolio.api.v1.domain.TermRange;
+import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseParameters;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.PaymentCycle;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TermRange;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -32,7 +32,7 @@
 import java.util.*;
 import java.util.stream.Collectors;
 
-import static io.mifos.individuallending.internal.service.Fixture.*;
+import static org.apache.fineract.cn.individuallending.internal.service.Fixture.*;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionTest.java
similarity index 89%
rename from service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionTest.java
index 4ed67d9..3a8d7c9 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledActionTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledActionTest.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargeComparatorTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargeComparatorTest.java
similarity index 95%
rename from service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargeComparatorTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargeComparatorTest.java
index 7b8ba44..2fc227d 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargeComparatorTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargeComparatorTest.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.api.v1.domain.workflow.Action;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.individuallending.api.v1.domain.workflow.Action;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargesServiceTest.java b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargesServiceTest.java
similarity index 92%
rename from service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargesServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargesServiceTest.java
index 563c18b..3b7419b 100644
--- a/service/src/test/java/io/mifos/individuallending/internal/service/schedule/ScheduledChargesServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/individuallending/internal/service/schedule/ScheduledChargesServiceTest.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.individuallending.internal.service.schedule;
+package org.apache.fineract.cn.individuallending.internal.service.schedule;
 
-import io.mifos.individuallending.internal.service.ChargeDefinitionService;
-import io.mifos.portfolio.api.v1.domain.ChargeDefinition;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentEntity;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.individuallending.internal.service.ChargeDefinitionService;
+import org.apache.fineract.cn.portfolio.api.v1.domain.ChargeDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/service/src/test/java/io/mifos/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandlerTest.java b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandlerTest.java
similarity index 83%
rename from service/src/test/java/io/mifos/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandlerTest.java
rename to service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandlerTest.java
index c947d52..19a621b 100644
--- a/service/src/test/java/io/mifos/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandlerTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ChargeDefinitionCommandHandlerTest.java
@@ -16,18 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command.handler;
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
 
-import io.mifos.portfolio.service.internal.command.DeleteProductChargeDefinitionCommand;
-import io.mifos.portfolio.service.internal.repository.BalanceSegmentRepository;
-import io.mifos.portfolio.service.internal.repository.ChargeDefinitionRepository;
-import io.mifos.core.lang.ServiceException;
+import org.apache.fineract.cn.portfolio.service.internal.command.DeleteProductChargeDefinitionCommand;
+import org.apache.fineract.cn.portfolio.service.internal.repository.BalanceSegmentRepository;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ChargeDefinitionRepository;
+import java.util.Optional;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
 
-import java.util.Optional;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/service/src/test/java/io/mifos/portfolio/service/internal/command/handler/ProductCommandHandlerTest.java b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ProductCommandHandlerTest.java
similarity index 93%
rename from service/src/test/java/io/mifos/portfolio/service/internal/command/handler/ProductCommandHandlerTest.java
rename to service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ProductCommandHandlerTest.java
index 0d607cd..81934bb 100644
--- a/service/src/test/java/io/mifos/portfolio/service/internal/command/handler/ProductCommandHandlerTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/command/handler/ProductCommandHandlerTest.java
@@ -16,21 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.command.handler;
-
-import io.mifos.core.lang.ServiceException;
-import io.mifos.individuallending.api.v1.domain.product.AccountDesignators;
-import io.mifos.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.util.AccountingAdapter;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mockito;
+package org.apache.fineract.cn.portfolio.service.internal.command.handler;
 
+import org.apache.fineract.cn.individuallending.api.v1.domain.product.AccountDesignators;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductAccountAssignmentEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.util.AccountingAdapter;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
+import org.apache.fineract.cn.lang.ServiceException;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.Mockito;
 
 /**
  * @author Myrle Krantz
diff --git a/service/src/test/java/io/mifos/portfolio/service/internal/service/PatternServiceTest.java b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/service/PatternServiceTest.java
similarity index 74%
rename from service/src/test/java/io/mifos/portfolio/service/internal/service/PatternServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/service/PatternServiceTest.java
index 2b8041f..3e4789f 100644
--- a/service/src/test/java/io/mifos/portfolio/service/internal/service/PatternServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/service/PatternServiceTest.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.Pattern;
-import io.mifos.products.spi.PatternFactory;
-import io.mifos.portfolio.service.internal.pattern.PatternFactoryRegistry;
+import org.apache.fineract.cn.portfolio.api.v1.domain.Pattern;
+import org.apache.fineract.cn.products.spi.PatternFactory;
+import org.apache.fineract.cn.portfolio.service.internal.pattern.PatternFactoryRegistry;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -38,17 +38,17 @@ public void findAllEntities() throws Exception {
     final PatternFactoryRegistry registryMock = Mockito.mock(PatternFactoryRegistry.class);
     final PatternFactory patternFactoryMock = Mockito.mock(PatternFactory.class);
     final Pattern patternMock = Mockito.mock(Pattern.class);
-    Mockito.doReturn(Optional.of(patternFactoryMock)).when(registryMock).getPatternFactoryForPackage("io.mifos.individuallending.api.v1");
+    Mockito.doReturn(Optional.of(patternFactoryMock)).when(registryMock).getPatternFactoryForPackage("org.apache.fineract.cn.individuallending.api.v1");
     Mockito.doReturn(Collections.singleton(patternFactoryMock)).when(registryMock).getAllPatternFactories();
     Mockito.doReturn(patternMock).when(patternFactoryMock).pattern();
-    Mockito.doReturn("io.mifos.individuallending.api.v1").when(patternMock).getParameterPackage();
+    Mockito.doReturn("org.apache.fineract.cn.individuallending.api.v1").when(patternMock).getParameterPackage();
 
     final PatternService testSubject = new PatternService(registryMock);
     final List<Pattern> all = testSubject.findAllEntities();
     Assert.assertTrue(all.stream().anyMatch(pattern ->
-      pattern.getParameterPackage().equals("io.mifos.individuallending.api.v1")));
+      pattern.getParameterPackage().equals("org.apache.fineract.cn.individuallending.api.v1")));
 
-    final Optional<Pattern> pattern = testSubject.findByIdentifier("io.mifos.individuallending.api.v1");
+    final Optional<Pattern> pattern = testSubject.findByIdentifier("org.apache.fineract.cn.individuallending.api.v1");
     Assert.assertTrue(pattern.isPresent());
   }
 }
\ No newline at end of file
diff --git a/service/src/test/java/io/mifos/portfolio/service/internal/service/TaskDefinitionServiceTest.java b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskDefinitionServiceTest.java
similarity index 88%
rename from service/src/test/java/io/mifos/portfolio/service/internal/service/TaskDefinitionServiceTest.java
rename to service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskDefinitionServiceTest.java
index 23c13a0..3d14220 100644
--- a/service/src/test/java/io/mifos/portfolio/service/internal/service/TaskDefinitionServiceTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/service/TaskDefinitionServiceTest.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.service;
+package org.apache.fineract.cn.portfolio.service.internal.service;
 
-import io.mifos.portfolio.api.v1.domain.TaskDefinition;
-import io.mifos.portfolio.service.internal.mapper.TaskDefinitionMapper;
-import io.mifos.portfolio.service.internal.repository.ProductEntity;
-import io.mifos.portfolio.service.internal.repository.TaskDefinitionEntity;
-import io.mifos.portfolio.service.internal.repository.TaskDefinitionRepository;
+import org.apache.fineract.cn.portfolio.api.v1.domain.TaskDefinition;
+import org.apache.fineract.cn.portfolio.service.internal.mapper.TaskDefinitionMapper;
+import org.apache.fineract.cn.portfolio.service.internal.repository.ProductEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionEntity;
+import org.apache.fineract.cn.portfolio.service.internal.repository.TaskDefinitionRepository;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
diff --git a/service/src/test/java/io/mifos/portfolio/service/internal/util/AccountingAdapterTest.java b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingAdapterTest.java
similarity index 86%
rename from service/src/test/java/io/mifos/portfolio/service/internal/util/AccountingAdapterTest.java
rename to service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingAdapterTest.java
index 8e88960..a8eb3ad 100644
--- a/service/src/test/java/io/mifos/portfolio/service/internal/util/AccountingAdapterTest.java
+++ b/service/src/test/java/org/apache/fineract/cn/portfolio/service/internal/util/AccountingAdapterTest.java
@@ -16,25 +16,24 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.portfolio.service.internal.util;
+package org.apache.fineract.cn.portfolio.service.internal.util;
 
 import com.google.common.collect.Sets;
-import io.mifos.accounting.api.v1.client.JournalEntryAlreadyExistsException;
-import io.mifos.accounting.api.v1.client.LedgerManager;
-import io.mifos.accounting.api.v1.domain.Creditor;
-import io.mifos.accounting.api.v1.domain.Debtor;
-import io.mifos.accounting.api.v1.domain.JournalEntry;
-import io.mifos.core.api.util.UserContextHolder;
-import io.mifos.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
+import org.apache.fineract.cn.individuallending.internal.service.DesignatorToAccountIdentifierMapper;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.fineract.cn.accounting.api.v1.client.JournalEntryAlreadyExistsException;
+import org.apache.fineract.cn.accounting.api.v1.client.LedgerManager;
+import org.apache.fineract.cn.accounting.api.v1.domain.Creditor;
+import org.apache.fineract.cn.accounting.api.v1.domain.Debtor;
+import org.apache.fineract.cn.accounting.api.v1.domain.JournalEntry;
+import org.apache.fineract.cn.api.util.UserContextHolder;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Matchers;
 import org.mockito.Mockito;
 
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * @author Myrle Krantz
  */
diff --git a/shared.gradle b/shared.gradle
index de7d93d..9d3d1ac 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -19,20 +19,20 @@ group 'org.apache.fineract.cn.portfolio'
 version '0.1.0-BUILD-SNAPSHOT'
 
 ext.versions = [
-        frameworkanubis     : '0.1.0-BUILD-SNAPSHOT',
-        frameworkapi        : '0.1.0-BUILD-SNAPSHOT',
-        frameworklang       : '0.1.0-BUILD-SNAPSHOT',
-        frameworkmariadb    : '0.1.0-BUILD-SNAPSHOT',
-        frameworkcassandra  : '0.1.0-BUILD-SNAPSHOT',
-        frameworkcommand    : '0.1.0-BUILD-SNAPSHOT',
-        frameworktest       : '0.1.0-BUILD-SNAPSHOT',
-        frameworkasync      : '0.1.0-BUILD-SNAPSHOT',
-        frameworkaccounting : '0.1.0-BUILD-SNAPSHOT',
-        mifosrhythm         : '0.1.0-BUILD-SNAPSHOT',
-        mifoscustomer       : '0.1.0-BUILD-SNAPSHOT',
-        validator    : '5.3.0.Final',
-        javamoneylib : '0.9-SNAPSHOT',
-        expiringmap         : '0.5.8'
+        frameworkanubis      : '0.1.0-BUILD-SNAPSHOT',
+        frameworkapi         : '0.1.0-BUILD-SNAPSHOT',
+        frameworklang        : '0.1.0-BUILD-SNAPSHOT',
+        frameworkmariadb     : '0.1.0-BUILD-SNAPSHOT',
+        frameworkcassandra   : '0.1.0-BUILD-SNAPSHOT',
+        frameworkcommand     : '0.1.0-BUILD-SNAPSHOT',
+        frameworktest        : '0.1.0-BUILD-SNAPSHOT',
+        frameworkasync       : '0.1.0-BUILD-SNAPSHOT',
+        fineractcnaccounting : '0.1.0-BUILD-SNAPSHOT',
+        fineractcnrhythm     : '0.1.0-BUILD-SNAPSHOT',
+        fineractcncustomer   : '0.1.0-BUILD-SNAPSHOT',
+        validator            : '5.3.0.Final',
+        javamoneylib         : '0.9-SNAPSHOT',
+        expiringmap          : '0.5.8'
 ]
 
 apply plugin: 'java'


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services