diff --git a/ContextAccess-core/pom.xml b/ContextAccess-core/pom.xml
new file mode 100644
index 0000000..7212a1b
--- /dev/null
+++ b/ContextAccess-core/pom.xml
@@ -0,0 +1,32 @@
+
+
+ 4.0.0
+
+
+ org.bonitasoft.rest.context
+ ContextAccess-parent
+ 1.0
+ ../ContextAccess-parent
+
+
+ ContextAccess-core
+ ${context-access.version}
+ Context Access Core
+ Context access core
+ jar
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+
+ ${java.version}
+
+
+
+
+
diff --git a/src/main/java/src/org/bonitasoft/rest/context/RestContextAccessorJava.java b/ContextAccess-core/src/main/java/org/bonitasoft/rest/context/RestContextAccessorJava.java
similarity index 100%
rename from src/main/java/src/org/bonitasoft/rest/context/RestContextAccessorJava.java
rename to ContextAccess-core/src/main/java/org/bonitasoft/rest/context/RestContextAccessorJava.java
diff --git a/assemblyContextAccessZip.xml b/ContextAccess-modules/assemblyContextAccessRestAPIZip.xml
similarity index 100%
rename from assemblyContextAccessZip.xml
rename to ContextAccess-modules/assemblyContextAccessRestAPIZip.xml
diff --git a/assemblyDocumentPermissionRuleZip.xml b/ContextAccess-modules/assemblyDocumentPermissionRuleZip.xml
similarity index 100%
rename from assemblyDocumentPermissionRuleZip.xml
rename to ContextAccess-modules/assemblyDocumentPermissionRuleZip.xml
diff --git a/ContextAccess-modules/pom.xml b/ContextAccess-modules/pom.xml
new file mode 100644
index 0000000..24b812e
--- /dev/null
+++ b/ContextAccess-modules/pom.xml
@@ -0,0 +1,150 @@
+
+
+ 4.0.0
+
+
+ org.bonitasoft.rest.context
+ ContextAccess-parent
+ 1.0
+ ../ContextAccess-parent
+
+
+ ContextAccess-modules
+ ${context-access.version}
+ Context Access Modules
+ context access modules
+ jar
+
+
+
+ com.bonitasoft.web
+ bonita-web-extensions-sp
+
+
+ org.codehaus.groovy
+ groovy-all
+
+
+ com.googlecode.json-simple
+ json-simple
+
+
+ org.bonitasoft.rest.context
+ ContextAccess-core
+
+
+
+
+ ${project.artifactId}
+
+
+ src/main/resources
+
+
+
+ src/main/groovy
+ src/test/groovy
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+
+ ${java.version}
+ groovy-eclipse-compiler
+
+
+
+ org.codehaus.groovy
+ groovy-eclipse-compiler
+ ${groovy-eclipse-compiler.version}
+
+
+ org.codehaus.groovy
+ groovy-eclipse-batch
+ ${groovy-eclipse-batch.version}
+
+
+
+
+ com.google.code.maven-replacer-plugin
+ replacer
+ ${maven-replacer-plugin.version}
+
+
+ prepare-package
+
+ replace
+
+
+
+
+ true
+ ${project.basedir}/target/assembly
+ ${document-permission-rule.name}-${project.version}
+ ${project.basedir}/src/main/groovy/org/bonitasoft/rest/context
+
+ RestContextCaseId.groovy,
+ RestContextCheckDocumentDownload.groovy,
+ DocumentPermissionContextRule.groovy,
+ RestContextConfiguration.groovy,
+ RestContextPilot.groovy,
+ RestContextTrackPerformance.groovy,
+
+
+ src/**/RestContextCaseId.groovy
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ ${maven-assembly-plugin.version}
+
+
+ ContextAccessZip
+ package
+
+ single
+
+ false
+
+ ${context-access-restapi.name}-${project.version}
+ true
+ false
+
+ assemblyContextAccessRestAPIZip.xml
+
+
+
+
+ DocumentPermissionRuleZip
+ package
+
+ single
+
+ false
+
+ ${document-permission-rule.name}-${project.version}
+ true
+ false
+
+ assemblyDocumentPermissionRuleZip.xml
+
+
+
+
+
+
+
+
+
diff --git a/src/main/groovy/org/bonitasoft/rest/context/DocumentPermissionContextRule.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/DocumentPermissionContextRule.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/DocumentPermissionContextRule.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/DocumentPermissionContextRule.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextCaseId.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextCaseId.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextCaseId.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextCaseId.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextCheckDocumentDownload.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextCheckDocumentDownload.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextCheckDocumentDownload.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextCheckDocumentDownload.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextConfiguration.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextConfiguration.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextConfiguration.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextConfiguration.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextExpliciteVariable.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextExpliciteVariable.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextExpliciteVariable.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextExpliciteVariable.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextHandleGet.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextHandleGet.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextHandleGet.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextHandleGet.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextPilot.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextPilot.groovy
similarity index 100%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextPilot.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextPilot.groovy
diff --git a/src/main/groovy/org/bonitasoft/rest/context/RestContextTrackPerformance.groovy b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextTrackPerformance.groovy
similarity index 97%
rename from src/main/groovy/org/bonitasoft/rest/context/RestContextTrackPerformance.groovy
rename to ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextTrackPerformance.groovy
index de982ee..7095c42 100644
--- a/src/main/groovy/org/bonitasoft/rest/context/RestContextTrackPerformance.groovy
+++ b/ContextAccess-modules/src/main/groovy/org/bonitasoft/rest/context/RestContextTrackPerformance.groovy
@@ -1,154 +1,154 @@
-package org.bonitasoft.rest.context;
-
-
-import java.util.logging.Logger
-import java.util.Collections;
-
-import org.bonitasoft.web.extension.rest.RestAPIContext;
-import org.bonitasoft.web.extension.rest.RestApiController
-import groovy.json.JsonBuilder
-import groovy.json.JsonException
-import groovy.json.JsonSlurper
-
-import java.lang.reflect.Field
-import java.lang.reflect.Method
-import java.text.SimpleDateFormat
-import java.util.logging.Logger
-
-import javax.servlet.http.HttpServletRequest
-import javax.servlet.http.HttpServletResponse
-
-import org.apache.http.HttpHeaders
-import org.bonitasoft.engine.api.APIClient
-import org.bonitasoft.engine.api.BusinessDataAPI
-import org.bonitasoft.engine.api.IdentityAPI
-import org.bonitasoft.engine.api.ProcessAPI
-import org.bonitasoft.engine.api.ProfileAPI
-import org.bonitasoft.engine.bdm.Entity
-import org.bonitasoft.engine.bdm.dao.BusinessObjectDAO
-import org.bonitasoft.engine.bpm.data.ArchivedDataInstance
-import org.bonitasoft.engine.bpm.data.ArchivedDataNotFoundException
-import org.bonitasoft.engine.bpm.data.DataInstance
-import org.bonitasoft.engine.bpm.data.DataNotFoundException
-import org.bonitasoft.engine.bpm.document.Document
-import org.bonitasoft.engine.bpm.document.DocumentCriterion
-import org.bonitasoft.engine.bpm.document.DocumentDefinition
-import org.bonitasoft.engine.bpm.document.DocumentListDefinition
-import org.bonitasoft.engine.bpm.flownode.ActivityInstance;
-import org.bonitasoft.engine.bpm.flownode.ArchivedActivityInstance;
-import org.bonitasoft.engine.bpm.flownode.FlowElementContainerDefinition
-import org.bonitasoft.engine.bpm.parameter.ParameterCriterion
-import org.bonitasoft.engine.bpm.parameter.ParameterInstance
-import org.bonitasoft.engine.bpm.process.ArchivedProcessInstance;
-import org.bonitasoft.engine.bpm.process.DesignProcessDefinition
-import org.bonitasoft.engine.bpm.process.ProcessInstance;
-import org.bonitasoft.engine.business.data.BusinessDataReference
-import org.bonitasoft.engine.business.data.MultipleBusinessDataReference
-import org.bonitasoft.engine.business.data.SimpleBusinessDataReference
-import org.bonitasoft.engine.identity.User
-import org.bonitasoft.engine.session.APISession
-import org.bonitasoft.web.extension.rest.RestAPIContext
-import org.bonitasoft.web.extension.rest.RestApiController
-import org.bonitasoft.web.extension.rest.RestApiResponse
-import org.bonitasoft.web.extension.rest.RestApiResponseBuilder
-
-
-
-
-
-/* -------------------------------------------------------------------------------- */
-/* */
-/* class PerformanceTrace */
-/* */
-/* -------------------------------------------------------------------------------- */
-class RestContextTrackPerformance {
-
-
- private static Logger logger = Logger.getLogger(RestContextTrackPerformance.class.getName());
-
- private List