You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/10/31 10:07:33 UTC

[plc4x] branch feature/moving-unfinished-things-to-the-sandbox updated: - Moved the plc4cpp, plc4net and plc4py into the sandbox - Removed the "with-java" profile - Adjusted the documentation - Added documentation to the latest mspec changes

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/moving-unfinished-things-to-the-sandbox
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/feature/moving-unfinished-things-to-the-sandbox by this push:
     new 6e33d7d  - Moved the plc4cpp, plc4net and plc4py into the sandbox - Removed the "with-java" profile - Adjusted the documentation - Added documentation to the latest mspec changes
6e33d7d is described below

commit 6e33d7d4a872ec9af5019f2607e68446abb9fd1d
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Oct 31 11:07:27 2019 +0100

    - Moved the plc4cpp, plc4net and plc4py into the sandbox
    - Removed the "with-java" profile
    - Adjusted the documentation
    - Added documentation to the latest mspec changes
---
 Dockerfile                                         |   8 +-
 Jenkinsfile                                        |   8 +-
 README.md                                          | 112 +++++++--------
 RELEASE_NOTES                                      |   2 +
 plc4j/integrations/logstash-plugin/README.md       |   2 +-
 pom.xml                                            |  48 ++-----
 {plc4cpp => sandbox/plc4cpp}/CMakeLists.txt        |   0
 {plc4cpp => sandbox/plc4cpp}/README.md             |   0
 {plc4cpp => sandbox/plc4cpp}/api/CMakeLists.txt    |   0
 .../cpp/org/apache/plc4x/cpp/PlcConnection.cpp     |   0
 .../main/cpp/org/apache/plc4x/cpp/PlcConnection.h  |   0
 .../cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp  |   0
 .../cpp/org/apache/plc4x/cpp/PlcDriverManager.h    |   0
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp |   0
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.h   |   0
 .../cpp/api/authentication/PlcAuthentication.cpp   |   0
 .../cpp/api/authentication/PlcAuthentication.h     |   0
 .../PlcUsernamePasswordAuthentication.cpp          |   0
 .../PlcUsernamePasswordAuthentication.h            |   0
 .../cpp/api/exceptions/PlcConnectionException.cpp  |   0
 .../cpp/api/exceptions/PlcConnectionException.h    |   0
 .../plc4x/cpp/api/exceptions/PlcException.cpp      |   0
 .../apache/plc4x/cpp/api/exceptions/PlcException.h |   0
 .../cpp/api/exceptions/PlcFieldRangeException.cpp  |   0
 .../cpp/api/exceptions/PlcFieldRangeException.h    |   0
 .../PlcIncompatibleDatatypeException.cpp           |   0
 .../exceptions/PlcIncompatibleDatatypeException.h  |   0
 .../api/exceptions/PlcInvalidFieldException.cpp    |   0
 .../cpp/api/exceptions/PlcInvalidFieldException.h  |   0
 .../plc4x/cpp/api/exceptions/PlcIoException.cpp    |   0
 .../plc4x/cpp/api/exceptions/PlcIoException.h      |   0
 .../api/exceptions/PlcNotImplementedException.cpp  |   0
 .../api/exceptions/PlcNotImplementedException.h    |   0
 .../cpp/api/exceptions/PlcProtocolException.cpp    |   0
 .../cpp/api/exceptions/PlcProtocolException.h      |   0
 .../PlcProtocolPayloadTooBigException.cpp          |   0
 .../exceptions/PlcProtocolPayloadTooBigException.h |   0
 .../cpp/api/exceptions/PlcRuntimeException.cpp     |   0
 .../plc4x/cpp/api/exceptions/PlcRuntimeException.h |   0
 .../cpp/api/exceptions/PlcTimeoutException.cpp     |   0
 .../plc4x/cpp/api/exceptions/PlcTimeoutException.h |   0
 .../exceptions/PlcUnsupportedDataTypeException.cpp |   0
 .../exceptions/PlcUnsupportedDataTypeException.h   |   0
 .../PlcUnsupportedOperationException.cpp           |   0
 .../exceptions/PlcUnsupportedOperationException.h  |   0
 .../plc4x/cpp/api/messages/PlcFieldRequest.cpp     |   0
 .../plc4x/cpp/api/messages/PlcFieldRequest.h       |   0
 .../plc4x/cpp/api/messages/PlcFieldResponse.cpp    |   0
 .../plc4x/cpp/api/messages/PlcFieldResponse.h      |   0
 .../apache/plc4x/cpp/api/messages/PlcMessage.cpp   |   0
 .../org/apache/plc4x/cpp/api/messages/PlcMessage.h |   0
 .../plc4x/cpp/api/messages/PlcReadRequest.cpp      |   0
 .../apache/plc4x/cpp/api/messages/PlcReadRequest.h |   0
 .../cpp/api/messages/PlcReadRequestBuilder.cpp     |   0
 .../plc4x/cpp/api/messages/PlcReadRequestBuilder.h |   0
 .../plc4x/cpp/api/messages/PlcReadResponse.cpp     |   0
 .../plc4x/cpp/api/messages/PlcReadResponse.h       |   0
 .../apache/plc4x/cpp/api/messages/PlcRequest.cpp   |   0
 .../org/apache/plc4x/cpp/api/messages/PlcRequest.h |   0
 .../plc4x/cpp/api/messages/PlcRequestBuilder.cpp   |   0
 .../plc4x/cpp/api/messages/PlcRequestBuilder.h     |   0
 .../apache/plc4x/cpp/api/messages/PlcResponse.cpp  |   0
 .../apache/plc4x/cpp/api/messages/PlcResponse.h    |   0
 .../cpp/api/messages/PlcSubscriptionEvent.cpp      |   0
 .../plc4x/cpp/api/messages/PlcSubscriptionEvent.h  |   0
 .../cpp/api/messages/PlcSubscriptionRequest.cpp    |   0
 .../cpp/api/messages/PlcSubscriptionRequest.h      |   0
 .../cpp/api/messages/PlcSubscriptionResponse.cpp   |   0
 .../cpp/api/messages/PlcSubscriptionResponse.h     |   0
 .../cpp/api/messages/PlcUnsubscriptionRequest.cpp  |   0
 .../cpp/api/messages/PlcUnsubscriptionRequest.h    |   0
 .../cpp/api/messages/PlcUnsubscriptionResponse.cpp |   0
 .../cpp/api/messages/PlcUnsubscriptionResponse.h   |   0
 .../plc4x/cpp/api/messages/PlcWriteRequest.cpp     |   0
 .../plc4x/cpp/api/messages/PlcWriteRequest.h       |   0
 .../plc4x/cpp/api/messages/PlcWriteResponse.cpp    |   0
 .../plc4x/cpp/api/messages/PlcWriteResponse.h      |   0
 .../org/apache/plc4x/cpp/api/messages/REQUEST.cpp  |   0
 .../org/apache/plc4x/cpp/api/messages/REQUEST.h    |   0
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.cpp |   0
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.h   |   0
 .../plc4x/cpp/api/messages/RequestTemplate.cpp     |   0
 .../plc4x/cpp/api/messages/RequestTemplate.h       |   0
 .../plc4x/cpp/api/messages/ResponseTemplate.cpp    |   0
 .../plc4x/cpp/api/messages/ResponseTemplate.h      |   0
 .../cpp/api/metadata/PlcConnectionMetadata.cpp     |   0
 .../plc4x/cpp/api/metadata/PlcConnectionMetadata.h |   0
 .../org/apache/plc4x/cpp/api/model/Consumer.cpp    |   0
 .../cpp/org/apache/plc4x/cpp/api/model/Consumer.h  |   0
 .../cpp/api/model/PlcConsumerRegistration.cpp      |   0
 .../plc4x/cpp/api/model/PlcConsumerRegistration.h  |   0
 .../org/apache/plc4x/cpp/api/model/PlcField.cpp    |   0
 .../cpp/org/apache/plc4x/cpp/api/model/PlcField.h  |   0
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.cpp  |   0
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.h    |   0
 .../plc4x/cpp/api/types/PlcClientDataType.cpp      |   0
 .../apache/plc4x/cpp/api/types/PlcClientDataType.h |   0
 .../apache/plc4x/cpp/api/types/PlcResponseCode.cpp |   0
 .../apache/plc4x/cpp/api/types/PlcResponseCode.h   |   0
 .../plc4x/cpp/api/types/PlcSubscriptionType.cpp    |   0
 .../plc4x/cpp/api/types/PlcSubscriptionType.h      |   0
 .../apache/plc4x/cpp/api/types/ValueTypeObject.cpp |   0
 .../apache/plc4x/cpp/api/types/ValueTypeObject.h   |   0
 .../cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp     |   0
 .../main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h  |   0
 .../plc4cpp}/drivers/CMakeLists.txt                |   0
 .../plc4cpp}/drivers/proxy/CMakeLists.txt          |   0
 .../cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp |   0
 .../cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h   |   0
 .../plc4x/cpp/proxy/connection/ProxyConnection.cpp |   0
 .../plc4x/cpp/proxy/connection/ProxyConnection.h   |   0
 .../cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp  |   0
 .../cpp/org/apache/plc4x/cpp/proxy}/dllexports.h   |   0
 .../plc4cpp}/drivers/s7/CMakeLists.txt             |   0
 .../cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp    |   0
 .../main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h |   0
 .../plc4x/cpp/s7/connection/S7PlcConnection.cpp    |   0
 .../plc4x/cpp/s7/connection/S7PlcConnection.h      |   0
 .../cpp/org/apache/plc4x/cpp/s7/dllexports.cpp     |   0
 .../main/cpp/org/apache/plc4x/cpp/s7}/dllexports.h |   0
 .../plc4cpp}/examples/CMakeLists.txt               |   0
 .../examples/hello-world-plc4x/CMakeLists.txt      |   0
 .../plc4x/cpp/examples/helloplc4x/helloplc4x.cpp   |   0
 .../plc4cpp}/integrations/CMakeLists.txt           |   0
 .../integrations/apache-mynewt}/CMakeLists.txt     |   0
 .../integrations/edgex-foundry}/CMakeLists.txt     |   0
 {plc4cpp => sandbox/plc4cpp}/pom.xml               |   6 +-
 .../plc4cpp}/protocols/CMakeLists.txt              |   0
 .../plc4cpp}/protocols/driver-bases/CMakeLists.txt |   0
 .../protocols/driver-bases/base/CMakeLists.txt     |   0
 .../cpp/base/connection/AbstractPlcConnection.cpp  |   0
 .../cpp/base/connection/AbstractPlcConnection.h    |   0
 .../plc4x/cpp/base/connection/BoostConnection.cpp  |   0
 .../plc4x/cpp/base/connection/BoostConnection.h    |   0
 .../plc4x/cpp/base/connection/ChannelFactory.cpp   |   0
 .../plc4x/cpp/base/connection/ChannelFactory.h     |   0
 .../cpp/base/connection/DefaultPlcFieldHandler.cpp |   0
 .../cpp/base/connection/DefaultPlcFieldHandler.h   |   0
 .../plc4x/cpp/base/connection/PlcFieldHandler.cpp  |   0
 .../plc4x/cpp/base/connection/PlcFieldHandler.h    |   0
 .../apache/plc4x/cpp/base/events/ConnectEvent.cpp  |   0
 .../apache/plc4x/cpp/base/events/ConnectEvent.h    |   0
 .../plc4x/cpp/base/events/ConnectedEvent.cpp       |   0
 .../apache/plc4x/cpp/base/events/ConnectedEvent.h  |   0
 .../cpp/base/messages/DefaultPlcReadRequest.cpp    |   0
 .../cpp/base/messages/DefaultPlcReadRequest.h      |   0
 .../cpp/base/messages/DefaultPlcWriteRequest.cpp   |   0
 .../cpp/base/messages/DefaultPlcWriteRequest.h     |   0
 .../cpp/base/messages/InternalPlcFieldRequest.cpp  |   0
 .../cpp/base/messages/InternalPlcFieldRequest.h    |   0
 .../cpp/base/messages/InternalPlcFieldResponse.cpp |   0
 .../cpp/base/messages/InternalPlcFieldResponse.h   |   0
 .../messages/InternalPlcProprietaryRequest.cpp     |   0
 .../base/messages/InternalPlcProprietaryRequest.h  |   0
 .../messages/InternalPlcProprietaryResponse.cpp    |   0
 .../base/messages/InternalPlcProprietaryResponse.h |   0
 .../cpp/base/messages/InternalPlcReadRequest.cpp   |   0
 .../cpp/base/messages/InternalPlcReadRequest.h     |   0
 .../plc4x/cpp/base/messages/InternalPlcRequest.cpp |   0
 .../plc4x/cpp/base/messages/InternalPlcRequest.h   |   0
 .../cpp/base/messages/InternalPlcResponse.cpp      |   0
 .../plc4x/cpp/base/messages/InternalPlcResponse.h  |   0
 .../cpp/base/messages/InternalPlcWriteRequest.cpp  |   0
 .../cpp/base/messages/InternalPlcWriteRequest.h    |   0
 .../cpp/base/messages/PlcProprietaryRequest.cpp    |   0
 .../cpp/base/messages/PlcProprietaryRequest.h      |   0
 .../cpp/base/messages/PlcProprietaryResponse.cpp   |   0
 .../cpp/base/messages/PlcProprietaryResponse.h     |   0
 .../apache/plc4x/cpp/base/messages/PlcReader.cpp   |   0
 .../org/apache/plc4x/cpp/base/messages/PlcReader.h |   0
 .../apache/plc4x/cpp/base/messages/PlcWriter.cpp   |   0
 .../org/apache/plc4x/cpp/base/messages/PlcWriter.h |   0
 .../base/messages/items/BaseDefaultFieldItem.cpp   |   0
 .../cpp/base/messages/items/BaseDefaultFieldItem.h |   0
 .../messages/items/DefaultBigDecimalFieldItem.cpp  |   0
 .../messages/items/DefaultBigDecimalFieldItem.h    |   0
 .../messages/items/DefaultBigIntegerFieldItem.cpp  |   0
 .../messages/items/DefaultBigIntegerFieldItem.h    |   0
 .../messages/items/DefaultBooleanFieldItem.cpp     |   0
 .../base/messages/items/DefaultBooleanFieldItem.h  |   0
 .../messages/items/DefaultByteArrayFieldItem.cpp   |   0
 .../messages/items/DefaultByteArrayFieldItem.h     |   0
 .../base/messages/items/DefaultByteFieldItem.cpp   |   0
 .../cpp/base/messages/items/DefaultByteFieldItem.h |   0
 .../base/messages/items/DefaultDoubleFieldItem.cpp |   0
 .../base/messages/items/DefaultDoubleFieldItem.h   |   0
 .../base/messages/items/DefaultFloatFieldItem.cpp  |   0
 .../base/messages/items/DefaultFloatFieldItem.h    |   0
 .../messages/items/DefaultIntegerFieldItem.cpp     |   0
 .../base/messages/items/DefaultIntegerFieldItem.h  |   0
 .../messages/items/DefaultLocalDateFieldItem.cpp   |   0
 .../messages/items/DefaultLocalDateFieldItem.h     |   0
 .../items/DefaultLocalDateTimeFieldItem.cpp        |   0
 .../messages/items/DefaultLocalDateTimeFieldItem.h |   0
 .../messages/items/DefaultLocalTimeFieldItem.cpp   |   0
 .../messages/items/DefaultLocalTimeFieldItem.h     |   0
 .../base/messages/items/DefaultLongFieldItem.cpp   |   0
 .../cpp/base/messages/items/DefaultLongFieldItem.h |   0
 .../base/messages/items/DefaultShortFieldItem.cpp  |   0
 .../base/messages/items/DefaultShortFieldItem.h    |   0
 .../base/messages/items/DefaultStringFieldItem.cpp |   0
 .../base/messages/items/DefaultStringFieldItem.h   |   0
 .../apache/plc4x/cpp/s7/types/S7ControllerType.h   |   0
 {plc4cpp => sandbox/plc4cpp}/utils/CMakeLists.txt  |   0
 .../plc4cpp}/utils/logger/CMakeLists.txt           |   0
 .../org/apache/plc4x/cpp/utils/logger/BLogger.cpp  |   0
 .../org/apache/plc4x/cpp/utils/logger/BLogger.h    |   0
 .../org/apache/plc4x/cpp/utils/logger/DatDmp.cpp   |   0
 .../cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h |   0
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp |   0
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.h   |   0
 .../plc4x/cpp/utils/logger/ErrorCategory.cpp       |   0
 .../apache/plc4x/cpp/utils/logger/ErrorCategory.h  |   0
 .../plc4x/cpp/utils/logger/ErrorInfoException.cpp  |   0
 .../plc4x/cpp/utils/logger/ErrorInfoException.h    |   0
 .../org/apache/plc4x/cpp/utils/logger/ExLog.cpp    |   0
 .../cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h  |   0
 .../plc4cpp}/utils/systemconfig/CMakeLists.txt     |   0
 .../cpp/utils/systemconfig/SystemConfiguration.cpp |   0
 .../cpp/utils/systemconfig/SystemConfiguration.h   |   0
 {plc4net => sandbox/plc4net}/.gitignore            |   0
 .../plc4net}/api/PlcDriverManager.cs               |   0
 {plc4net => sandbox/plc4net}/api/api.csproj        |   0
 .../plc4net}/api/api/IPlcConnection.cs             |   0
 {plc4net => sandbox/plc4net}/api/api/IPlcDriver.cs |   0
 .../api/api/authentication/IPlcAuthentication.cs   |   0
 .../PlcUsernamePasswordAuthentication.cs           |   0
 .../api/api/metadata/IPlcConnectionMetadata.cs     |   0
 .../api/exceptions/PlcConnectionException.cs       |   0
 .../plc4net}/api/exceptions/PlcException.cs        |   0
 .../api/exceptions/PlcInvalidFieldException.cs     |   0
 .../plc4net}/api/messages/IPlcFieldRequest.cs      |   0
 .../plc4net}/api/messages/IPlcFieldResponse.cs     |   0
 .../plc4net}/api/messages/IPlcMessage.cs           |   0
 .../plc4net}/api/messages/IPlcReadRequest.cs       |   0
 .../api/messages/IPlcReadRequestBuilder.cs         |   0
 .../plc4net}/api/messages/IPlcReadResponse.cs      |   0
 .../plc4net}/api/messages/IPlcRequest.cs           |   0
 .../plc4net}/api/messages/IPlcRequestBuilder.cs    |   0
 .../plc4net}/api/messages/IPlcResponse.cs          |   0
 .../api/messages/IPlcSubscriptionEventArgs.cs      |   0
 .../api/messages/IPlcSubscriptionRequest.cs        |   0
 .../api/messages/IPlcSubscriptionRequestBuilder.cs |   0
 .../api/messages/IPlcSubscriptionResponse.cs       |   0
 .../api/messages/IPlcUnsubscriptionRequest.cs      |   0
 .../messages/IPlcUnsubscriptionRequestBuilder.cs   |   0
 .../api/messages/IPlcUnsubscriptionResponse.cs     |   0
 .../plc4net}/api/messages/IPlcWriteRequest.cs      |   0
 .../api/messages/IPlcWriteRequestBuilder.cs        |   0
 .../plc4net}/api/model/IPlcField.cs                |   0
 .../plc4net}/api/model/IPlcSubscriptionHandle.cs   |   0
 {plc4net => sandbox/plc4net}/api/pom.xml           |   0
 .../plc4net}/api/types/PlcResponseCode.cs          |   0
 .../plc4net}/plc4net.driver/plc4net.driver.csproj  |   0
 .../plc4net}/plc4net.driver/pom.xml                |   0
 {plc4net => sandbox/plc4net}/plc4net.sln           |   0
 {plc4net => sandbox/plc4net}/pom.xml               |   6 +-
 {plc4py => sandbox/plc4py}/README.md               |   0
 {plc4py => sandbox/plc4py}/pom.xml                 |   6 +-
 {plc4py => sandbox/plc4py}/setup.py                |   0
 {plc4py => sandbox/plc4py}/src/assembly/python.xml |   0
 .../plc4py/src/main/python}/__init__.py            |   0
 .../plc4py/src/main/python/org}/__init__.py        |   0
 .../plc4py}/src/main/python/org/apache/__init__.py |   0
 .../main/python/org/apache/plc4x/InteropClient.py  |   0
 .../main/python/org/apache/plc4x/PlcConnection.py  |   0
 .../python/org/apache/plc4x/PlcDriverManager.py    |   0
 .../src/main/python/org/apache/plc4x}/__init__.py  |   0
 .../plc4py}/src/main/resources/lib/log4j2.xml      |   0
 .../plc4py/src/test/python}/__init__.py            |   0
 .../plc4py}/src/test/python/org/__init__.py        |   0
 .../plc4py/src/test/python/org/apache}/__init__.py |   0
 .../src/test/python/org/apache/plc4x}/__init__.py  |   0
 .../org/apache/plc4x/test_PlcDriverManager.py      |   0
 sandbox/pom.xml                                    |  27 ++++
 src/main/script/prerequisiteCheck.groovy           |   5 +-
 src/site/asciidoc/developers/building.adoc         |  18 +--
 src/site/asciidoc/developers/ci.adoc               |  32 +++--
 .../developers/code-gen/protocol/mspec.adoc        | 157 ++++++++++++++++++---
 src/site/asciidoc/developers/contributing.adoc     |  12 +-
 src/site/asciidoc/developers/preparing.adoc        |   7 +-
 src/site/asciidoc/developers/release.adoc          |  12 +-
 tools/thrift/pom.xml                               |   2 +
 283 files changed, 295 insertions(+), 175 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 3771197..87d26b7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -43,7 +43,7 @@ RUN apt install -y apt-transport-https
 RUN apt update -y
 RUN apt install -y dotnet-sdk-2.2
 
-# Required for "with-java" profile
+# Required for the general build
 RUN apt install -y git
 
 # Required for "with-proxies"
@@ -61,11 +61,11 @@ WORKDIR /ws
 # Tell Maven to fetch all needed dependencies first, so they can get cached
 # (Tried a patched version of the plugin to allow exclusion of inner artifacts.
 # See https://issues.apache.org/jira/browse/MDEP-568 for details)
-RUN ./mvnw -P with-java,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-sandbox com.offbytwo.maven.plugins:maven-dependency-plugin:3.1.1.MDEP568:go-offline -DexcludeGroupIds=org.apache.plc4x,org.apache.plc4x.examples,org.apache.plc4x.sandbox
+RUN ./mvnw -P with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash com.offbytwo.maven.plugins:maven-dependency-plugin:3.1.1.MDEP568:go-offline -DexcludeGroupIds=org.apache.plc4x,org.apache.plc4x.examples,org.apache.plc4x.sandbox
 # Build everything with all tests
-RUN ./mvnw -P with-java,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-sandbox install
+RUN ./mvnw -P with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash install
 
-#RUN ./mvnw -P with-java -DskipTests install
+#RUN ./mvnw -DskipTests install
 
 # Get the version of the project and save it in a local file on the container
 RUN ./mvnw org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -DforceStdout -q -pl . > project_version
diff --git a/Jenkinsfile b/Jenkinsfile
index 3e21acb..5f82a26 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -85,7 +85,7 @@ pipeline {
             }
             steps {
                 echo 'Building'
-                sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check,development,with-boost,with-cpp,with-java,with-dotnet,with-python,with-proxies,with-sandbox,with-logstash ${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
+                sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check,development,with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash ${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
             }
             post {
                 always {
@@ -108,7 +108,7 @@ pipeline {
 
                 // We'll deploy to a relative directory so we can save
                 // that and deploy in a later step on a different node
-                sh 'mvn -U -P${JENKINS_PROFILE},skip-prerequisite-check,development,with-boost,with-java,with-dotnet,with-cpp,with-python,with-proxies,with-sandbox,with-logstash ${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION} -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy'
+                sh 'mvn -U -P${JENKINS_PROFILE},skip-prerequisite-check,development,with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash ${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION} -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy'
 
                 // Stash the build results so we can deploy them on another node
                 stash name: 'plc4x-build-snapshots', includes: 'local-snapshots-dir/**'
@@ -169,7 +169,7 @@ pipeline {
             }
             steps {
                 echo 'Building Site'
-                sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check,with-java,with-proxies,with-logstash site'
+                sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check,with-proxies,with-logstash site'
             }
         }
 
@@ -180,7 +180,7 @@ pipeline {
             steps {
                 echo 'Staging Site'
                 // Build a directory containing the aggregated website.
-                sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check,with-java,with-proxies,with-logstash site:stage'
+                sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check,with-proxies,with-logstash site:stage'
                 // Make sure the script is executable.
                 sh 'chmod +x tools/clean-site.sh'
                 // Remove some redundant resources, which shouldn't be required.
diff --git a/README.md b/README.md
index e00d5dd..80504de 100644
--- a/README.md
+++ b/README.md
@@ -51,10 +51,9 @@ Apache PLC4X is an effort to create a set of libraries for communicating with in
 We are planning on shipping libraries for usage in:
 
 1. Java
-2. Scala
-3. C/C++
-4. C# (.Net)
-5. Python
+2. C/C++ (not ready for usage)
+3. C# (.Net) (not ready for usage)
+4. Python (not ready for usage)
 
 PLC4X also integrates with other Apache projects, such as:
 
@@ -84,7 +83,7 @@ Currently the project is configured to require the following software:
 
 1. Java 8 JDK: For running Maven in general as well as compiling the Java and Scala modules `JAVA_HOME` configured to
  point to that.
-2. libpcap/WinPcap for raw socket tests in Java
+2. libpcap/WinPcap for raw socket tests in Java or use of `passive-mode` drivers
 3. (Optional) Graphwiz: For generating the graphs in the documentation (http://www.graphviz.org/)
 4. Git (even when working on the source distribution)
 
@@ -95,11 +94,15 @@ For a full build of PLC4X with all options the following has to be provided:
 
 On a clean Ubuntu 18.04 the following software needs to be installed:
 
-    sudo apt install python-setuptools
+```
+    sudo apt install python-setuptools gcc g++ make libpcap-dev
+```
 
 If you're building a source-distribution and haven't installed git yet, be sure to do so:
 
+```
     sudo get install git
+```
 
 In order to build the .Net version, please install the .Net package according to this guide:
 
@@ -109,23 +112,35 @@ https://dev.to/carlos487/installing-dotnet-core-in-ubuntu-1804-7lp
 
 Make sure `Homebrew` ist installed in order to update `Bison` to a newer version (the version 2.3 installed per default is too old)
 
+```
     /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+```
 
 Then update `Bison`:
 
+```
     brew install bison
     brew link bison --force
     echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.bash_profile
+```
 
 Install `Python 2.7`:
 
+```
     brew install python@2
+```
 
 Be sure to re-open the command window or the changes will not apply.
 
 If you're going to build the `with-dotnet` profile you also need to install DotNet.
 Please download it from: https://dotnet.microsoft.com/download and run the installer.
 
+LibPCAP is also installed via Homebrew:
+
+```
+    brew install libpcap
+```
+
 #### Windows
 
 Some tools need to be installed before being able to build on Windows:
@@ -135,6 +150,8 @@ Some tools need to be installed before being able to build on Windows:
 * Flex (for `with-cpp` profiles)
 * Python 2.7 (for `with-python`, `with-proxies` profiles)
 * Dotnet (for `with-dotnet` profiles)
+* WinPCAP
+* OpenSSL
 
 He have tested `WinBuilds` with the bundle of: http://win-builds.org/doku.php/download_and_installation_from_windows
 Run the installer as "Administrator" or you won't be able to install it to "C:\Program Files" or the 32 Bit counterpart.
@@ -159,10 +176,26 @@ You can get `Python` from here: https://www.python.org/downloads/release/python-
 
 For `.Net`, you need the `Developer Pack` in order to build .Net applications. So be sure to get a reasonably fresh installation from https://dotnet.microsoft.com
 
-Make sure the `bin` directories of containing the executables `mingw32-make.exe`, `bison.exe` and `flex.exe` are all on your systems `PATH`.
-
 If you're building a source-distribution and haven't installed git yet, be sure to do so.
 
+The windows version of the PCAP library can be found here: https://sourceforge.net/projects/winpcap413-176/
+(In order to read PCAPNG files we require a libpcap version 1.1.0 or greater. The default
+Windows version is 1.0. At this location there is a patched version based on libpcap 1.7.4)
+
+Last not least we need to install OpenSSL, which is available from here: https://indy.fulgan.com/SSL/
+The letter at the end of the version is sort of a "sub-minor" version, so I usually just take the version with the highest letter.
+
+Make sure the `bin` directories of containing the executables `mingw32-make.exe`, `bison.exe` and `flex.exe` are all on your systems `PATH` as well as the directory containing the `openssl.exe`.
+
+### Building with Docker
+
+If you don't want to bother setting up the environment on your normal system and you have Docker installed, you can also build everything in a Docker container:
+
+```
+   docker build -t plc4x .
+
+   docker run -p 9200:9200 -p 9300:9300 --name plc4x plc4x
+```
 
 ### Getting Started
 
@@ -173,72 +206,39 @@ downloaded and installed by the maven wrapper `mvnw`.
 Build PLC4X Java jars and install them in your local maven repository
 
 ```
-./mvnw install -P with-java  # add -DskipTests to omit running the tests
+./mvnw install # add -DskipTests to omit running the tests
 ```
 
 You can now construct Java applications that use PLC4X. The PLC4X examples
 are a good place to start and are available inside the `plc4j/examples`
 directory.
 
-If you want to also build the C++ libraries, this has to be enabled by activating
-
-the `with-cpp` profile
+The `C++` drivers are still under development and still not really usable. 
+Therefore they are located in the so-called `sandbox`. 
+If you want to build them, this has to be enabled by activating the `with-sandbox` and `with-cpp` maven profiles:
 
 ```
-./mvnw -P with-cpp install  # add -DskipTests to omit running the tests
+./mvnw -P with-sandbox,with-cpp install  # add -DskipTests to omit running the tests
 ```
 
-Same applies for the C# .Net implementation with `with-dotnet` profiles.
-
-The Python implementation is currently in a somewhat unclean state and still needs refactoring.
-In order to be able to build the Python module, you currently need to activate both the:
-`with-python` and `with-proxies` profiles.
-
-However both of these are in a pretty experimental state.
-
-In order to build everything the following command should work:
+Same applies for the `C# / .Net` implementation with `with-dotnet` profiles.
 
 ```
-./mvnw -P with-boost,with-cpp,with-dotnet,with-java,with-logstash,with-proxies,with-python,with-sandbox install
+./mvnw -P with-sandbox,with-dotnet install  # add -DskipTests to omit running the tests
 ```
 
-### Installing libpcap/WinPcap
-
-Some parts of PLC4X, especially the raw socket support, require installed versions
-of libpcap/WinPcap.
-
-You can download the Mac/Linux version from: http://www.tcpdump.org/
-The windows version can be found here: https://sourceforge.net/projects/winpcap413-176/
-(In order to read PCAPNG files we require a libpcap version 1.1.0 or greater. The default
-Windows version is 1.0. At this location is a patched version based on libpcap 1.7.4)
-
-Same applies for Python with the `with-python` and the C# .Net imeplemtation with `with-dotnet` profiles.
-However both of these are in a pretty experimental state.
-
-
-### Building the C++ libraries
-
-When building the C++ libraries we require an installed `gcc` compiler.
-On Mac and Linux this is usually the case.
-On a minimal Ubuntu Linux system the following modules needed to be installed
-manually:
-
-* gcc
-* g++
-* make
+The Python implementation is currently in a somewhat unclean state and still needs refactoring.
+In order to be able to build the Python module, you currently need to activate the:
+`with-sandbox`, `with-python` and `with-proxies` profiles.
 
-On Windows the required compiler is generally not available per default.
-The build is optimized for using a gcc-port called MinGW, available from
-http://win-builds.org/doku.php/download_and_installation_from_windows
-Make sure the `bin` directory containing the executable `mingw32-make.exe`
-is on your systems `PATH`.
+```
+./mvnw -P with-sandbox,with-python,with-proxies install  # add -DskipTests to omit running the tests
+```
 
-### Building with Docker
+In order to build everything the following command should work:
 
 ```
-   docker build -t plc4x .
-
-   docker run -p 9200:9200 -p 9300:9300 --name plc4x plc4x
+./mvnw -P with-boost,with-cpp,with-dotnet,with-logstash,with-proxies,with-python,with-sandbox install
 ```
 
 ## Community
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index e3f8bb6..c1d9792 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -8,6 +8,8 @@ New Features
 Incompatible changes
 --------------------
 
+- Moved the C++, C# and Python drivers into the `sandbox`
+
 Bug Fixes
 ---------
 
diff --git a/plc4j/integrations/logstash-plugin/README.md b/plc4j/integrations/logstash-plugin/README.md
index 0ae5589..607406e 100644
--- a/plc4j/integrations/logstash-plugin/README.md
+++ b/plc4j/integrations/logstash-plugin/README.md
@@ -62,7 +62,7 @@ input {
 
 # Build the plugin:
 
-    ./mvnw clean package -P with-java,with-logstash
+    ./mvnw clean package -P with-logstash
 
 # To install the plugin:
 1) Copy the build plugin *logstash-input-plc4x-0.5.0.gem* from your target/gem directory to the Logstash plugin directory *logstash/plugin*
diff --git a/pom.xml b/pom.xml
index 36fc2e0..30b440a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -177,14 +177,13 @@
     <!-- Definition of the protocol message formats -->
     <module>protocols</module>
 
+    <!-- Build the Java part of plc4x -->
+    <module>plc4j</module>
+
     <!-- Tools needed throughout the build -->
     <module>tools</module>
   </modules>
 
-  <prerequisites>
-    <maven>${maven.version}</maven>
-  </prerequisites>
-
   <dependencyManagement>
     <dependencies>
       <!--
@@ -1358,6 +1357,11 @@
               Set the source level to 8 as otherwise with newer JDKs we're getting trouble.
             -->
             <source>8</source>
+            <!--
+              Disable the detection of links as we have some artifacts without api-docs and
+              the errors were polluting the build output.
+            -->
+            <detectLinks>false</detectLinks>
           </configuration>
         </plugin>
 
@@ -1537,37 +1541,6 @@
         </plugins>
       </build>
     </profile>
-    <!-- Build PLC4X including the CPP modules -->
-    <profile>
-      <id>with-cpp</id>
-      <modules>
-        <module>plc4cpp</module>
-      </modules>
-    </profile>
-
-    <!-- Build PLC4X including the Java modules -->
-    <profile>
-      <id>with-java</id>
-      <modules>
-        <module>plc4j</module>
-      </modules>
-    </profile>
-
-    <!-- Build PLC4X including the .Net modules -->
-    <profile>
-      <id>with-dotnet</id>
-      <modules>
-        <module>plc4net</module>
-      </modules>
-    </profile>
-
-    <!-- Build PLC4X including the Python modules -->
-    <profile>
-      <id>with-python</id>
-      <modules>
-        <module>plc4py</module>
-      </modules>
-    </profile>
 
     <!-- Build PLC4X including the Sandbox modules -->
     <profile>
@@ -1577,11 +1550,6 @@
       </modules>
     </profile>
 
-    <!-- Profile, which is used in sub-modules to enable Thrift related proxy modules -->
-    <profile>
-      <id>with-proxies</id>
-    </profile>
-
     <!-- Profile for linux (Self-Enabling) -->
     <profile>
       <id>os-unix</id>
diff --git a/plc4cpp/CMakeLists.txt b/sandbox/plc4cpp/CMakeLists.txt
similarity index 100%
rename from plc4cpp/CMakeLists.txt
rename to sandbox/plc4cpp/CMakeLists.txt
diff --git a/plc4cpp/README.md b/sandbox/plc4cpp/README.md
similarity index 100%
rename from plc4cpp/README.md
rename to sandbox/plc4cpp/README.md
diff --git a/plc4cpp/api/CMakeLists.txt b/sandbox/plc4cpp/api/CMakeLists.txt
similarity index 100%
rename from plc4cpp/api/CMakeLists.txt
rename to sandbox/plc4cpp/api/CMakeLists.txt
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcConnection.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/PlcDriverManager.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/PlcConnection.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcAuthentication.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/authentication/PlcUsernamePasswordAuthentication.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcConnectionException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcFieldRangeException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIncompatibleDatatypeException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcInvalidFieldException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcIoException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcNotImplementedException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcProtocolPayloadTooBigException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcRuntimeException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcTimeoutException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedDataTypeException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/exceptions/PlcUnsupportedOperationException.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldRequest.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcFieldResponse.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcMessage.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequest.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadRequestBuilder.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcReadResponse.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequest.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcRequestBuilder.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcResponse.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionEvent.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionRequest.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcSubscriptionResponse.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionRequest.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcUnsubscriptionResponse.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteRequest.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/PlcWriteResponse.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/REQUEST.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RESPONSE.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/RequestTemplate.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/messages/ResponseTemplate.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/metadata/PlcConnectionMetadata.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/Consumer.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcConsumerRegistration.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcField.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/model/PlcSubscriptionHandle.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcClientDataType.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcResponseCode.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/PlcSubscriptionType.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/api/types/ValueTypeObject.h
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp
diff --git a/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h b/sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h
similarity index 100%
rename from plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h
rename to sandbox/plc4cpp/api/src/main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h
diff --git a/plc4cpp/drivers/CMakeLists.txt b/sandbox/plc4cpp/drivers/CMakeLists.txt
similarity index 100%
rename from plc4cpp/drivers/CMakeLists.txt
rename to sandbox/plc4cpp/drivers/CMakeLists.txt
diff --git a/plc4cpp/drivers/proxy/CMakeLists.txt b/sandbox/plc4cpp/drivers/proxy/CMakeLists.txt
similarity index 100%
rename from plc4cpp/drivers/proxy/CMakeLists.txt
rename to sandbox/plc4cpp/drivers/proxy/CMakeLists.txt
diff --git a/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp b/sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp
similarity index 100%
rename from plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp
rename to sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp
diff --git a/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h b/sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h
similarity index 100%
rename from plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h
rename to sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h
diff --git a/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.cpp b/sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.cpp
similarity index 100%
rename from plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.cpp
rename to sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.cpp
diff --git a/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.h b/sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.h
similarity index 100%
rename from plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.h
rename to sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/connection/ProxyConnection.h
diff --git a/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp b/sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp
similarity index 100%
rename from plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp
rename to sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h b/sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.h
similarity index 100%
rename from plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h
rename to sandbox/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.h
diff --git a/plc4cpp/drivers/s7/CMakeLists.txt b/sandbox/plc4cpp/drivers/s7/CMakeLists.txt
similarity index 100%
rename from plc4cpp/drivers/s7/CMakeLists.txt
rename to sandbox/plc4cpp/drivers/s7/CMakeLists.txt
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp b/sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp
similarity index 100%
rename from plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp
rename to sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h b/sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h
similarity index 100%
rename from plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h
rename to sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.cpp b/sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.cpp
similarity index 100%
rename from plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.cpp
rename to sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.cpp
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.h b/sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.h
similarity index 100%
rename from plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.h
rename to sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/connection/S7PlcConnection.h
diff --git a/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp b/sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp
similarity index 100%
rename from plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp
rename to sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.cpp
diff --git a/plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.h b/sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h
similarity index 100%
rename from plc4cpp/drivers/proxy/src/main/cpp/org/apache/plc4x/cpp/proxy/dllexports.h
rename to sandbox/plc4cpp/drivers/s7/src/main/cpp/org/apache/plc4x/cpp/s7/dllexports.h
diff --git a/plc4cpp/examples/CMakeLists.txt b/sandbox/plc4cpp/examples/CMakeLists.txt
similarity index 100%
rename from plc4cpp/examples/CMakeLists.txt
rename to sandbox/plc4cpp/examples/CMakeLists.txt
diff --git a/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt b/sandbox/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt
similarity index 100%
rename from plc4cpp/examples/hello-world-plc4x/CMakeLists.txt
rename to sandbox/plc4cpp/examples/hello-world-plc4x/CMakeLists.txt
diff --git a/plc4cpp/examples/hello-world-plc4x/src/main/cpp/org/apache/plc4x/cpp/examples/helloplc4x/helloplc4x.cpp b/sandbox/plc4cpp/examples/hello-world-plc4x/src/main/cpp/org/apache/plc4x/cpp/examples/helloplc4x/helloplc4x.cpp
similarity index 100%
rename from plc4cpp/examples/hello-world-plc4x/src/main/cpp/org/apache/plc4x/cpp/examples/helloplc4x/helloplc4x.cpp
rename to sandbox/plc4cpp/examples/hello-world-plc4x/src/main/cpp/org/apache/plc4x/cpp/examples/helloplc4x/helloplc4x.cpp
diff --git a/plc4cpp/integrations/CMakeLists.txt b/sandbox/plc4cpp/integrations/CMakeLists.txt
similarity index 100%
rename from plc4cpp/integrations/CMakeLists.txt
rename to sandbox/plc4cpp/integrations/CMakeLists.txt
diff --git a/plc4cpp/integrations/edgex-foundry/CMakeLists.txt b/sandbox/plc4cpp/integrations/apache-mynewt/CMakeLists.txt
similarity index 100%
rename from plc4cpp/integrations/edgex-foundry/CMakeLists.txt
rename to sandbox/plc4cpp/integrations/apache-mynewt/CMakeLists.txt
diff --git a/plc4cpp/integrations/apache-mynewt/CMakeLists.txt b/sandbox/plc4cpp/integrations/edgex-foundry/CMakeLists.txt
similarity index 100%
rename from plc4cpp/integrations/apache-mynewt/CMakeLists.txt
rename to sandbox/plc4cpp/integrations/edgex-foundry/CMakeLists.txt
diff --git a/plc4cpp/pom.xml b/sandbox/plc4cpp/pom.xml
similarity index 98%
rename from plc4cpp/pom.xml
rename to sandbox/plc4cpp/pom.xml
index bb03207..ba2f4be 100644
--- a/plc4cpp/pom.xml
+++ b/sandbox/plc4cpp/pom.xml
@@ -22,15 +22,15 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4x-parent</artifactId>
+    <groupId>org.apache.plc4x.sandbox</groupId>
+    <artifactId>plc4x-sandbox</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>plc4cpp</artifactId>
   <packaging>pom</packaging>
 
-  <name>PLC4Cpp</name>
+  <name>Sandbox: PLC4Cpp</name>
   <description>Implementation of the protocol adapters for usage as C++ library.</description>
 
   <properties>
diff --git a/plc4cpp/protocols/CMakeLists.txt b/sandbox/plc4cpp/protocols/CMakeLists.txt
similarity index 100%
rename from plc4cpp/protocols/CMakeLists.txt
rename to sandbox/plc4cpp/protocols/CMakeLists.txt
diff --git a/plc4cpp/protocols/driver-bases/CMakeLists.txt b/sandbox/plc4cpp/protocols/driver-bases/CMakeLists.txt
similarity index 100%
rename from plc4cpp/protocols/driver-bases/CMakeLists.txt
rename to sandbox/plc4cpp/protocols/driver-bases/CMakeLists.txt
diff --git a/plc4cpp/protocols/driver-bases/base/CMakeLists.txt b/sandbox/plc4cpp/protocols/driver-bases/base/CMakeLists.txt
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/CMakeLists.txt
rename to sandbox/plc4cpp/protocols/driver-bases/base/CMakeLists.txt
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/AbstractPlcConnection.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/BoostConnection.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/ChannelFactory.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/DefaultPlcFieldHandler.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/connection/PlcFieldHandler.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectEvent.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/events/ConnectedEvent.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcReadRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/DefaultPlcWriteRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcFieldResponse.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcProprietaryResponse.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcReadRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcResponse.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/InternalPlcWriteRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryRequest.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcProprietaryResponse.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcReader.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/PlcWriter.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/BaseDefaultFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigDecimalFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBigIntegerFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultBooleanFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteArrayFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultByteFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultDoubleFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultFloatFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultIntegerFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalDateTimeFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLocalTimeFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultLongFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultShortFieldItem.h
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.cpp b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.cpp
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.cpp
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.cpp
diff --git a/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.h b/sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.h
similarity index 100%
rename from plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.h
rename to sandbox/plc4cpp/protocols/driver-bases/base/src/main/cpp/org/apache/plc4x/cpp/base/messages/items/DefaultStringFieldItem.h
diff --git a/plc4cpp/protocols/s7/src/main/cpp/org/apache/plc4x/cpp/s7/types/S7ControllerType.h b/sandbox/plc4cpp/protocols/s7/src/main/cpp/org/apache/plc4x/cpp/s7/types/S7ControllerType.h
similarity index 100%
rename from plc4cpp/protocols/s7/src/main/cpp/org/apache/plc4x/cpp/s7/types/S7ControllerType.h
rename to sandbox/plc4cpp/protocols/s7/src/main/cpp/org/apache/plc4x/cpp/s7/types/S7ControllerType.h
diff --git a/plc4cpp/utils/CMakeLists.txt b/sandbox/plc4cpp/utils/CMakeLists.txt
similarity index 100%
rename from plc4cpp/utils/CMakeLists.txt
rename to sandbox/plc4cpp/utils/CMakeLists.txt
diff --git a/plc4cpp/utils/logger/CMakeLists.txt b/sandbox/plc4cpp/utils/logger/CMakeLists.txt
similarity index 100%
rename from plc4cpp/utils/logger/CMakeLists.txt
rename to sandbox/plc4cpp/utils/logger/CMakeLists.txt
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.cpp b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.cpp
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.cpp
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.cpp
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.h b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.h
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.h
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/BLogger.h
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.cpp b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.cpp
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.cpp
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.cpp
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.h b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.h
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.h
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/DbgTrace.h
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.cpp
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorCategory.h
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.cpp b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.cpp
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.cpp
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.cpp
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.h b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.h
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.h
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ErrorInfoException.h
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.cpp b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.cpp
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.cpp
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.cpp
diff --git a/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h b/sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h
similarity index 100%
rename from plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h
rename to sandbox/plc4cpp/utils/logger/src/main/cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h
diff --git a/plc4cpp/utils/systemconfig/CMakeLists.txt b/sandbox/plc4cpp/utils/systemconfig/CMakeLists.txt
similarity index 100%
rename from plc4cpp/utils/systemconfig/CMakeLists.txt
rename to sandbox/plc4cpp/utils/systemconfig/CMakeLists.txt
diff --git a/plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.cpp b/sandbox/plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.cpp
similarity index 100%
rename from plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.cpp
rename to sandbox/plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.cpp
diff --git a/plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.h b/sandbox/plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.h
similarity index 100%
rename from plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.h
rename to sandbox/plc4cpp/utils/systemconfig/src/main/cpp/org/apache/plc4x/cpp/utils/systemconfig/SystemConfiguration.h
diff --git a/plc4net/.gitignore b/sandbox/plc4net/.gitignore
similarity index 100%
rename from plc4net/.gitignore
rename to sandbox/plc4net/.gitignore
diff --git a/plc4net/api/PlcDriverManager.cs b/sandbox/plc4net/api/PlcDriverManager.cs
similarity index 100%
rename from plc4net/api/PlcDriverManager.cs
rename to sandbox/plc4net/api/PlcDriverManager.cs
diff --git a/plc4net/api/api.csproj b/sandbox/plc4net/api/api.csproj
similarity index 100%
rename from plc4net/api/api.csproj
rename to sandbox/plc4net/api/api.csproj
diff --git a/plc4net/api/api/IPlcConnection.cs b/sandbox/plc4net/api/api/IPlcConnection.cs
similarity index 100%
rename from plc4net/api/api/IPlcConnection.cs
rename to sandbox/plc4net/api/api/IPlcConnection.cs
diff --git a/plc4net/api/api/IPlcDriver.cs b/sandbox/plc4net/api/api/IPlcDriver.cs
similarity index 100%
rename from plc4net/api/api/IPlcDriver.cs
rename to sandbox/plc4net/api/api/IPlcDriver.cs
diff --git a/plc4net/api/api/authentication/IPlcAuthentication.cs b/sandbox/plc4net/api/api/authentication/IPlcAuthentication.cs
similarity index 100%
rename from plc4net/api/api/authentication/IPlcAuthentication.cs
rename to sandbox/plc4net/api/api/authentication/IPlcAuthentication.cs
diff --git a/plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs b/sandbox/plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs
similarity index 100%
rename from plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs
rename to sandbox/plc4net/api/api/authentication/PlcUsernamePasswordAuthentication.cs
diff --git a/plc4net/api/api/metadata/IPlcConnectionMetadata.cs b/sandbox/plc4net/api/api/metadata/IPlcConnectionMetadata.cs
similarity index 100%
rename from plc4net/api/api/metadata/IPlcConnectionMetadata.cs
rename to sandbox/plc4net/api/api/metadata/IPlcConnectionMetadata.cs
diff --git a/plc4net/api/exceptions/PlcConnectionException.cs b/sandbox/plc4net/api/exceptions/PlcConnectionException.cs
similarity index 100%
rename from plc4net/api/exceptions/PlcConnectionException.cs
rename to sandbox/plc4net/api/exceptions/PlcConnectionException.cs
diff --git a/plc4net/api/exceptions/PlcException.cs b/sandbox/plc4net/api/exceptions/PlcException.cs
similarity index 100%
rename from plc4net/api/exceptions/PlcException.cs
rename to sandbox/plc4net/api/exceptions/PlcException.cs
diff --git a/plc4net/api/exceptions/PlcInvalidFieldException.cs b/sandbox/plc4net/api/exceptions/PlcInvalidFieldException.cs
similarity index 100%
rename from plc4net/api/exceptions/PlcInvalidFieldException.cs
rename to sandbox/plc4net/api/exceptions/PlcInvalidFieldException.cs
diff --git a/plc4net/api/messages/IPlcFieldRequest.cs b/sandbox/plc4net/api/messages/IPlcFieldRequest.cs
similarity index 100%
rename from plc4net/api/messages/IPlcFieldRequest.cs
rename to sandbox/plc4net/api/messages/IPlcFieldRequest.cs
diff --git a/plc4net/api/messages/IPlcFieldResponse.cs b/sandbox/plc4net/api/messages/IPlcFieldResponse.cs
similarity index 100%
rename from plc4net/api/messages/IPlcFieldResponse.cs
rename to sandbox/plc4net/api/messages/IPlcFieldResponse.cs
diff --git a/plc4net/api/messages/IPlcMessage.cs b/sandbox/plc4net/api/messages/IPlcMessage.cs
similarity index 100%
rename from plc4net/api/messages/IPlcMessage.cs
rename to sandbox/plc4net/api/messages/IPlcMessage.cs
diff --git a/plc4net/api/messages/IPlcReadRequest.cs b/sandbox/plc4net/api/messages/IPlcReadRequest.cs
similarity index 100%
rename from plc4net/api/messages/IPlcReadRequest.cs
rename to sandbox/plc4net/api/messages/IPlcReadRequest.cs
diff --git a/plc4net/api/messages/IPlcReadRequestBuilder.cs b/sandbox/plc4net/api/messages/IPlcReadRequestBuilder.cs
similarity index 100%
rename from plc4net/api/messages/IPlcReadRequestBuilder.cs
rename to sandbox/plc4net/api/messages/IPlcReadRequestBuilder.cs
diff --git a/plc4net/api/messages/IPlcReadResponse.cs b/sandbox/plc4net/api/messages/IPlcReadResponse.cs
similarity index 100%
rename from plc4net/api/messages/IPlcReadResponse.cs
rename to sandbox/plc4net/api/messages/IPlcReadResponse.cs
diff --git a/plc4net/api/messages/IPlcRequest.cs b/sandbox/plc4net/api/messages/IPlcRequest.cs
similarity index 100%
rename from plc4net/api/messages/IPlcRequest.cs
rename to sandbox/plc4net/api/messages/IPlcRequest.cs
diff --git a/plc4net/api/messages/IPlcRequestBuilder.cs b/sandbox/plc4net/api/messages/IPlcRequestBuilder.cs
similarity index 100%
rename from plc4net/api/messages/IPlcRequestBuilder.cs
rename to sandbox/plc4net/api/messages/IPlcRequestBuilder.cs
diff --git a/plc4net/api/messages/IPlcResponse.cs b/sandbox/plc4net/api/messages/IPlcResponse.cs
similarity index 100%
rename from plc4net/api/messages/IPlcResponse.cs
rename to sandbox/plc4net/api/messages/IPlcResponse.cs
diff --git a/plc4net/api/messages/IPlcSubscriptionEventArgs.cs b/sandbox/plc4net/api/messages/IPlcSubscriptionEventArgs.cs
similarity index 100%
rename from plc4net/api/messages/IPlcSubscriptionEventArgs.cs
rename to sandbox/plc4net/api/messages/IPlcSubscriptionEventArgs.cs
diff --git a/plc4net/api/messages/IPlcSubscriptionRequest.cs b/sandbox/plc4net/api/messages/IPlcSubscriptionRequest.cs
similarity index 100%
rename from plc4net/api/messages/IPlcSubscriptionRequest.cs
rename to sandbox/plc4net/api/messages/IPlcSubscriptionRequest.cs
diff --git a/plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs b/sandbox/plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs
similarity index 100%
rename from plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs
rename to sandbox/plc4net/api/messages/IPlcSubscriptionRequestBuilder.cs
diff --git a/plc4net/api/messages/IPlcSubscriptionResponse.cs b/sandbox/plc4net/api/messages/IPlcSubscriptionResponse.cs
similarity index 100%
rename from plc4net/api/messages/IPlcSubscriptionResponse.cs
rename to sandbox/plc4net/api/messages/IPlcSubscriptionResponse.cs
diff --git a/plc4net/api/messages/IPlcUnsubscriptionRequest.cs b/sandbox/plc4net/api/messages/IPlcUnsubscriptionRequest.cs
similarity index 100%
rename from plc4net/api/messages/IPlcUnsubscriptionRequest.cs
rename to sandbox/plc4net/api/messages/IPlcUnsubscriptionRequest.cs
diff --git a/plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs b/sandbox/plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs
similarity index 100%
rename from plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs
rename to sandbox/plc4net/api/messages/IPlcUnsubscriptionRequestBuilder.cs
diff --git a/plc4net/api/messages/IPlcUnsubscriptionResponse.cs b/sandbox/plc4net/api/messages/IPlcUnsubscriptionResponse.cs
similarity index 100%
rename from plc4net/api/messages/IPlcUnsubscriptionResponse.cs
rename to sandbox/plc4net/api/messages/IPlcUnsubscriptionResponse.cs
diff --git a/plc4net/api/messages/IPlcWriteRequest.cs b/sandbox/plc4net/api/messages/IPlcWriteRequest.cs
similarity index 100%
rename from plc4net/api/messages/IPlcWriteRequest.cs
rename to sandbox/plc4net/api/messages/IPlcWriteRequest.cs
diff --git a/plc4net/api/messages/IPlcWriteRequestBuilder.cs b/sandbox/plc4net/api/messages/IPlcWriteRequestBuilder.cs
similarity index 100%
rename from plc4net/api/messages/IPlcWriteRequestBuilder.cs
rename to sandbox/plc4net/api/messages/IPlcWriteRequestBuilder.cs
diff --git a/plc4net/api/model/IPlcField.cs b/sandbox/plc4net/api/model/IPlcField.cs
similarity index 100%
rename from plc4net/api/model/IPlcField.cs
rename to sandbox/plc4net/api/model/IPlcField.cs
diff --git a/plc4net/api/model/IPlcSubscriptionHandle.cs b/sandbox/plc4net/api/model/IPlcSubscriptionHandle.cs
similarity index 100%
rename from plc4net/api/model/IPlcSubscriptionHandle.cs
rename to sandbox/plc4net/api/model/IPlcSubscriptionHandle.cs
diff --git a/plc4net/api/pom.xml b/sandbox/plc4net/api/pom.xml
similarity index 100%
rename from plc4net/api/pom.xml
rename to sandbox/plc4net/api/pom.xml
diff --git a/plc4net/api/types/PlcResponseCode.cs b/sandbox/plc4net/api/types/PlcResponseCode.cs
similarity index 100%
rename from plc4net/api/types/PlcResponseCode.cs
rename to sandbox/plc4net/api/types/PlcResponseCode.cs
diff --git a/plc4net/plc4net.driver/plc4net.driver.csproj b/sandbox/plc4net/plc4net.driver/plc4net.driver.csproj
similarity index 100%
rename from plc4net/plc4net.driver/plc4net.driver.csproj
rename to sandbox/plc4net/plc4net.driver/plc4net.driver.csproj
diff --git a/plc4net/plc4net.driver/pom.xml b/sandbox/plc4net/plc4net.driver/pom.xml
similarity index 100%
rename from plc4net/plc4net.driver/pom.xml
rename to sandbox/plc4net/plc4net.driver/pom.xml
diff --git a/plc4net/plc4net.sln b/sandbox/plc4net/plc4net.sln
similarity index 100%
rename from plc4net/plc4net.sln
rename to sandbox/plc4net/plc4net.sln
diff --git a/plc4net/pom.xml b/sandbox/plc4net/pom.xml
similarity index 92%
rename from plc4net/pom.xml
rename to sandbox/plc4net/pom.xml
index 954acbe..6ed0b00 100644
--- a/plc4net/pom.xml
+++ b/sandbox/plc4net/pom.xml
@@ -22,15 +22,15 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4x-parent</artifactId>
+    <groupId>org.apache.plc4x.sandbox</groupId>
+    <artifactId>plc4x-sandbox</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>plc4net</artifactId>
   <packaging>pom</packaging>
 
-  <name>PLC4Net</name>
+  <name>Sandbox: PLC4Net</name>
   <description>Implementation of the protocol adapters for usage as .Net module.</description>
 
   <!-- Disabled for now as C# support is currently not installed in Apache SonarQube -->
diff --git a/plc4py/README.md b/sandbox/plc4py/README.md
similarity index 100%
rename from plc4py/README.md
rename to sandbox/plc4py/README.md
diff --git a/plc4py/pom.xml b/sandbox/plc4py/pom.xml
similarity index 98%
rename from plc4py/pom.xml
rename to sandbox/plc4py/pom.xml
index 8a80ec6..7f4b3a9 100644
--- a/plc4py/pom.xml
+++ b/sandbox/plc4py/pom.xml
@@ -22,15 +22,15 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.apache.plc4x</groupId>
-    <artifactId>plc4x-parent</artifactId>
+    <groupId>org.apache.plc4x.sandbox</groupId>
+    <artifactId>plc4x-sandbox</artifactId>
     <version>0.6.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>plc4py</artifactId>
   <packaging>pom</packaging>
 
-  <name>PLC4PY</name>
+  <name>Sandbox: PLC4PY</name>
   <description>Implementation of the protocol adapters for usage as Python module.</description>
 
   <!-- Disabled for now as Python support is currently not installed in Apache SonarQube -->
diff --git a/plc4py/setup.py b/sandbox/plc4py/setup.py
similarity index 100%
rename from plc4py/setup.py
rename to sandbox/plc4py/setup.py
diff --git a/plc4py/src/assembly/python.xml b/sandbox/plc4py/src/assembly/python.xml
similarity index 100%
rename from plc4py/src/assembly/python.xml
rename to sandbox/plc4py/src/assembly/python.xml
diff --git a/plc4py/src/test/python/org/apache/plc4x/__init__.py b/sandbox/plc4py/src/main/python/__init__.py
similarity index 100%
rename from plc4py/src/test/python/org/apache/plc4x/__init__.py
rename to sandbox/plc4py/src/main/python/__init__.py
diff --git a/plc4py/src/main/python/org/apache/plc4x/__init__.py b/sandbox/plc4py/src/main/python/org/__init__.py
similarity index 100%
rename from plc4py/src/main/python/org/apache/plc4x/__init__.py
rename to sandbox/plc4py/src/main/python/org/__init__.py
diff --git a/plc4py/src/main/python/org/apache/__init__.py b/sandbox/plc4py/src/main/python/org/apache/__init__.py
similarity index 100%
rename from plc4py/src/main/python/org/apache/__init__.py
rename to sandbox/plc4py/src/main/python/org/apache/__init__.py
diff --git a/plc4py/src/main/python/org/apache/plc4x/InteropClient.py b/sandbox/plc4py/src/main/python/org/apache/plc4x/InteropClient.py
similarity index 100%
rename from plc4py/src/main/python/org/apache/plc4x/InteropClient.py
rename to sandbox/plc4py/src/main/python/org/apache/plc4x/InteropClient.py
diff --git a/plc4py/src/main/python/org/apache/plc4x/PlcConnection.py b/sandbox/plc4py/src/main/python/org/apache/plc4x/PlcConnection.py
similarity index 100%
rename from plc4py/src/main/python/org/apache/plc4x/PlcConnection.py
rename to sandbox/plc4py/src/main/python/org/apache/plc4x/PlcConnection.py
diff --git a/plc4py/src/main/python/org/apache/plc4x/PlcDriverManager.py b/sandbox/plc4py/src/main/python/org/apache/plc4x/PlcDriverManager.py
similarity index 100%
rename from plc4py/src/main/python/org/apache/plc4x/PlcDriverManager.py
rename to sandbox/plc4py/src/main/python/org/apache/plc4x/PlcDriverManager.py
diff --git a/plc4py/src/main/python/org/__init__.py b/sandbox/plc4py/src/main/python/org/apache/plc4x/__init__.py
similarity index 100%
rename from plc4py/src/main/python/org/__init__.py
rename to sandbox/plc4py/src/main/python/org/apache/plc4x/__init__.py
diff --git a/plc4py/src/main/resources/lib/log4j2.xml b/sandbox/plc4py/src/main/resources/lib/log4j2.xml
similarity index 100%
rename from plc4py/src/main/resources/lib/log4j2.xml
rename to sandbox/plc4py/src/main/resources/lib/log4j2.xml
diff --git a/plc4py/src/test/python/org/apache/__init__.py b/sandbox/plc4py/src/test/python/__init__.py
similarity index 100%
rename from plc4py/src/test/python/org/apache/__init__.py
rename to sandbox/plc4py/src/test/python/__init__.py
diff --git a/plc4py/src/test/python/org/__init__.py b/sandbox/plc4py/src/test/python/org/__init__.py
similarity index 100%
rename from plc4py/src/test/python/org/__init__.py
rename to sandbox/plc4py/src/test/python/org/__init__.py
diff --git a/plc4py/src/test/python/__init__.py b/sandbox/plc4py/src/test/python/org/apache/__init__.py
similarity index 100%
rename from plc4py/src/test/python/__init__.py
rename to sandbox/plc4py/src/test/python/org/apache/__init__.py
diff --git a/plc4py/src/main/python/__init__.py b/sandbox/plc4py/src/test/python/org/apache/plc4x/__init__.py
similarity index 100%
rename from plc4py/src/main/python/__init__.py
rename to sandbox/plc4py/src/test/python/org/apache/plc4x/__init__.py
diff --git a/plc4py/src/test/python/org/apache/plc4x/test_PlcDriverManager.py b/sandbox/plc4py/src/test/python/org/apache/plc4x/test_PlcDriverManager.py
similarity index 100%
rename from plc4py/src/test/python/org/apache/plc4x/test_PlcDriverManager.py
rename to sandbox/plc4py/src/test/python/org/apache/plc4x/test_PlcDriverManager.py
diff --git a/sandbox/pom.xml b/sandbox/pom.xml
index 2ae1937..600d99c 100644
--- a/sandbox/pom.xml
+++ b/sandbox/pom.xml
@@ -46,4 +46,31 @@
     <module>test-java-df1-driver</module>
   </modules>
 
+  <profiles>
+    <!-- Build PLC4X including the CPP modules -->
+    <profile>
+      <id>with-cpp</id>
+      <modules>
+        <module>plc4cpp</module>
+      </modules>
+    </profile>
+
+    <!-- Build PLC4X including the .Net modules -->
+    <profile>
+      <id>with-dotnet</id>
+      <modules>
+        <module>plc4net</module>
+      </modules>
+    </profile>
+
+    <!-- Build PLC4X including the Python modules -->
+    <profile>
+      <id>with-python</id>
+      <modules>
+        <module>plc4py</module>
+      </modules>
+    </profile>
+
+  </profiles>
+
 </project>
\ No newline at end of file
diff --git a/src/main/script/prerequisiteCheck.groovy b/src/main/script/prerequisiteCheck.groovy
index 97b65aa..8ee0db3 100644
--- a/src/main/script/prerequisiteCheck.groovy
+++ b/src/main/script/prerequisiteCheck.groovy
@@ -235,7 +235,7 @@ println "Enabled profiles:"
 def boostEnabled = false
 def cppEnabled = false
 def dotnetEnabled = false
-def javaEnabled = false
+def javaEnabled = true
 def pythonEnabled = false
 def proxiesEnabled = false
 def sandboxEnabled = false
@@ -250,9 +250,6 @@ for (def activeProfile : activeProfiles) {
     } else if(activeProfile == "with-dotnet") {
         dotnetEnabled = true
         println "dotnet"
-    } else if(activeProfile == "with-java") {
-        javaEnabled = true
-        println "java"
     } else if(activeProfile == "with-python") {
         pythonEnabled = true
         println "python"
diff --git a/src/site/asciidoc/developers/building.adoc b/src/site/asciidoc/developers/building.adoc
index 27cc704..28f4143 100644
--- a/src/site/asciidoc/developers/building.adoc
+++ b/src/site/asciidoc/developers/building.adoc
@@ -59,34 +59,34 @@ video::167857327[vimeo,width=640,height=420]
 
 === Building PLC4X with Maven
 
-In order to build only the parts you are interested in, we have partitioned the build into multiple parts.
-By enabling these, you add more modules to the build.
+In general all modules which are not considered production-ready are located in the `sandbox` section of the project.
 
-By not enabling any profile, only the `protocols` and part of the `tools` will be built, which is pretty useless.
+They are not built per default and are enabled by enabling the `with-sandbox` Maven profile.
 
-The following profiles are available:
+As especially building the C++, and C# drivers requires building of some third party artifacts and increases build-time dramatically and requires setting up some additional third party tools, we have excluded these parts form the default Maven build.
+
+The following profiles are available (*They have to be enabled additionally to the `with-sandbox` profile*):
 
-- `with-java`: Builds all Java related modules, integrations and examples
 - `with-cpp`: Builds all C++ related modules, integrations and examples
 - `with-dotnet`: Builds all C# and .Net related modules, integrations and examples
 - `with-python`: Builds all Python related modules, integrations and examples
 
-WARNING: All profiles except the `with-java` typically require some preparation and setup on your development machine, please read the link:preparing.html[Preparing your Computer] guide for a detailed description on this.
+WARNING: As these profiles typically require some preparation and setup on your development machine, please read the link:preparing.html[Preparing your Computer] guide for a detailed description on this.
 
 Beyond that there is an additional profile `with-proxies` which will enable additional modules in each of the activated languages.
-This `proxies` module, uses Apache Thrift to generate modules for forwarding requests to an `interop server` which runs somewhere else or on the same machine.
+This `proxies` module, uses `Apache Thrift` to generate modules for forwarding requests to an `interop server` which runs somewhere else or on the same machine.
 
 WARNING: Currently when enabling the `with-python` module, you are required to also enable the `with-proxies` profile too as this is currently required there but will probably change in the near future.
 
 PLC4X is built by executing the following command (Example for building all modules):
 
-    mvn -P with-java,with-cpp,with-dotnet,with-python,with-proxies,with-sandbox package
+    mvn -P with-sandbox,with-cpp,with-dotnet,with-python,with-proxies install
 
 This not only builds the artifacts and creates the jar files, but also runs all unit- and integration-tests.
 
 If you want to skip the running of tests (even if this is not encouraged) you can skip them all together.
 
-    mvn -P with-java,with-cpp,with-dotnet,with-python,with-proxies,with-sandbox package -DskipTests
+    mvn -P with-sandbox,with-cpp,with-dotnet,with-python,with-proxies install -DskipTests
 
 This will not skip the compilation of tests however.
 
diff --git a/src/site/asciidoc/developers/ci.adoc b/src/site/asciidoc/developers/ci.adoc
index 3e601cf..8c768fc 100644
--- a/src/site/asciidoc/developers/ci.adoc
+++ b/src/site/asciidoc/developers/ci.adoc
@@ -18,23 +18,23 @@
 
 == Continuous Integration
 
-We are currently using two different CI systems.
+We are currently using Apache's `Jenkins` as single CI system.
 
 - Apache's Jenkins at: https://builds.apache.org/view/M-R/job/PLC4X/
-- Travis at: https://travis-ci.org/apache/plc4x/
 
-Hereby Apache Jenkins clearly is responsible for running the full testsuite with all integration-tests.
-Also only jobs on Apache Jenkins are allowed to publish SNAPSHOT versions of the Maven artifacts to Apaches Nexus.
+However we might add Travis for automatically building and testing Pull-Requests in the near future.
 
-Travis integrates perfectly into GitHub. We are using this to auto-check any pull-requests coming in.
+Hereby Apache Jenkins' clearly is responsible for running the full testsuite with all integration-tests.
+Also only jobs on Apache Jenkins are allowed to publish SNAPSHOT versions of the Maven artifacts to `Apaches Nexus` at: https://repository.apache.org.
 
 === Structure of the Jenkins Pipeline build
 
 We are using the Jenkins `multi-branch pipeline plugin` to automatically setup build for branches based upon the build definition in the `Jenkinsfile` in the root of the project.
 
-In general it decides between building of the `master` branch and all others.
+In general it builds the `develop` branch and all branches starting with the prefix `feature/`.
+However when building the `develop` branch some additional steps are performed.
 
-When building `master` the build not only builds the project itself and runs all tests, it also runs the `sonarqube` analysis, deploys the artifacts built as well as generates and deploys the website.
+When building `develop` the build not only builds the project itself and runs all tests, it also runs the `sonarcloud` analysis, deploys the artifacts built to the `Apache Nexus` as well as generates and deploys the website.
 
 The general structure of the build is as follows:
 
@@ -42,18 +42,22 @@ The general structure of the build is as follows:
 ....
 {
   Start [shape = beginpoint];
-  BuildMaster [label = "Build Master"];
+  Initialization [label = "Initialization"];
+  Cleanup [label = "Cleanup"];
+  Checkout [color = "#068D9D", textcolor="#FFFFFF"];
+  Build [label = "Build"];
+  BuildDevelop [label = "Build develop"];
   CodeQuality [label = "Code Quality"];
-  Deploy [color = "#068D9D", textcolor="#FFFFFF"];
+  Deploy [label = "Deploy"];
   BuildSite [label = "Build Site"];
-  StageSite [label = "Stage Site"];
-  DeploySite [label = "Deploy Site", color = "#80DED9", textcolor="#FFFFFF"];
+  StageSite [label = "Stage site"];
+  DeploySite [label = "Deploy site"];
   Finish [shape = endpoint];
 
   Start -> Initialization -> Cleanup -> Checkout;
-  Checkout -> Build [label = "any other branch"];
+  Checkout -> Build [label = "feature branch"];
   Build -> Finish;
-  Checkout -> BuildMaster [label = "master branch"];
-  BuildMaster -> CodeQuality -> Deploy -> BuildSite -> StageSite -> DeploySite -> Finish;
+  Checkout -> BuildDevelop [label = "develop"];
+  BuildDevelop -> CodeQuality -> Deploy -> BuildSite -> StageSite -> DeploySite; -> Finish;
 }
 ....
\ No newline at end of file
diff --git a/src/site/asciidoc/developers/code-gen/protocol/mspec.adoc b/src/site/asciidoc/developers/code-gen/protocol/mspec.adoc
index 22705d1..357beda 100644
--- a/src/site/asciidoc/developers/code-gen/protocol/mspec.adoc
+++ b/src/site/asciidoc/developers/code-gen/protocol/mspec.adoc
@@ -124,54 +124,167 @@ In the example above, for example the `S7Parameter` is defined in another part o
 
 === Field Types and their Syntax
 
+==== array Field
+
+An `array` field is exactly what you expect.
+It generates an field which is not a single-value element but an array or list of elements.
+
+    [array {simple-type} {size} '{name}' {'count', 'length', 'terminated'} '{expression}']
+
+    [array {complex-type} '{name}' {'count', 'length', 'terminated'} '{expression}']
+
+Array types can be both simple and complex typed and have a name.
+An array field must specify the way it's length is determined as well as an expression defining it's length.
+Possible values are:
+- `count`: This means that exactly the number of elements are parsed as the `expression` specifies.
+- `length`: In this case a given number of bytes are being read. So if an element has been parsed and there are still bytes left, another element is parsed.
+- `terminated`: In this case the parser will continue reading elements until it encounters a termination sequence.
+
+==== checksum Field
+
+A checksum field can only operate on simple types.
+
+    [checksum {simple-type} {size} '{name}' '{checksum-expression}']
+
+When parsing a given simple type is parsed and then the result is compared to the value the `checksum-expression` provides.
+If they don't match an exception is thrown.
+
+When serializing, the `checksum-expression` is evaluated and the result is then output.
+
+This field doesn't keep any data in memory.
+
+See also:
+- implicit field: A checksum field is similar to an implicit field, however the `checksum-expression` is evaluated are parsing time and throws an exception if the values don't match.
+
 ==== const Field
 
+A const field simply reads a given simple type and compares to a given reference value.
+
     [const {simple-type} {size} '{name}' '{reference}']
 
-A const field simply reads a given simple type and compares to a given reference value.
+When parsing it makes the parser throw an Exception if the parsed value does not match.
 
-It makes the parser throw an Exception if the value does not match.
+When serializing is simply outputs the expected constant.
 
-==== reserved Field
+This field doesn't keep any data in memory.
 
-    [reserved {simple-type} {size} '{name}' '{reference}']
+See also:
+- implicit field: A const field is similar to an implicit field, however it compares the parsed input to the reference value and throws an exception if the values don't match.
 
-In general this field type behaves exactly the same way as the `const` field, but with the difference, that it doesn't throw an Exception if the reference is not matched, but instead allows to log the value.
+==== discriminator Field
 
-This is used in order to detect `reserved` fields in some protocols, where the manufacturer defined the field to be a given value, but with the option to use it in the future.
+Discriminator fields are only used in `discriminatedType`s.
 
-This way the application will not break in the future if devices start using the field and it informs us that we should probably have a look at what the new values mean.
+    [discriminator {simple-type} {size} '{name}']
 
-==== field Field
+When parsing a discriminator fields result just in being a locally available variable.
 
-    [field {simple-type} {size} '{name}']
+When serializing is accesses the discriminated types constants and uses these as output.
 
-    [field {complex-type} '{name}']
+See also:
+- implicit field: A discriminator field is similar to an implicit field, however doesn't provide a serialization expression as it uses the discrimination constants of the type it is.
+- discriminated types
 
-==== array Field
+==== implicit Field
+
+Implicit types are fields that get their value implicitly from the data they contain.
+
+    [implicit {simple-type} {size} '{name}' '{serialization-expression}']
+
+When parsing an implicit type is available as a local variable and can be used by other expressions.
+
+When serializing the serialization-expression is executed and the resulting value is output.
+
+This type of field is generally used for fields that handle numbers of elements or length values as these can be implicitly calculated at serialization time.
+
+This field doesn't keep any data in memory.
+
+==== manualArray Field
+
+    [manualArray {simple-type} {size} '{name}' {'count', 'length', 'terminated'} '{loop-expression}' '{serialization-expression}' '{deserialization-expression}' '{length-expression}']
+
+    [manualArray {complex-type} '{name}' {'count', 'length', 'terminated'} '{loop-expression}' '{serialization-expression}' '{deserialization-expression}' '{length-expression}']
+
+==== manual Field
 
-    [arrayField {simple-type} {size} '{name}' {'count' or 'length'} '{count or length expression}']
+    [manual {simple-type} {size} '{name}' '{serialization-expression}' '{deserialization-expression}' '{length-expression}']
 
-    [arrayField {complex-type} '{name}' {'count' or 'length'} '{count or length expression}']
+    [manual {complex-type} '{name}' '{serialization-expression}' '{deserialization-expression}' '{length-expression}']
 
 ==== optional Field
 
-    [optionalField {simple-type} {size} '{name}' '{optional-expression}']
+An optional field is a type of field that can also be `null`.
 
-    [optionalField {complex-type} '{name}' '{optional-expression}']
+    [optional {simple-type} {size} '{name}' '{optional-expression}']
 
-==== implicit Field
+    [optional {complex-type} '{name}' '{optional-expression}']
 
-    [implicit {simple-type} {size} '{name}' '{serialization-expression}']
+When parsing the `optional-expression` is evaluated. If this results in`false` nothing is output, if it evaluates to `true` it is serialized as a `simple` field.
 
-    [implicit {complex-type} '{name}' '{serialization-expression}']
+When serializing, if the field is `null` nothing is output, if it is not `null` it is serialized normally.
 
-==== discriminator Field
+See also:
+- simple field: In general `optional` fields are identical to `simple` fields except the ability to be `null` or be skipped.
 
-    [discriminator {simple-type} {size} '{name}']
+==== padding Field
+
+A padding field outputs additional padding data, if an expression evaluates to `true`.
+
+    [padding {simple-type} {size} '{pading-value}' '{padding-expression}']
+
+When parsing a `padding` field is just consumed without being made available as property or local valiable if the `padding-expression` evaluates to true.
+If it doesn't, it is just skipped.
+
+This field doesn't keep any data in memory.
+
+==== reserved Field
+
+Reserved fields are very similar to `const` fields, however they don't throw exceptions, but instead log messages if the values don't match.
+
+The reason for this is that in general reserved fields have the given value until they start to be used.
+
+If the field starts to be used this shouldn't break existing applications, but it should raise a flag as it might make sense to update the drivers.
+
+    [reserved {simple-type} {size} '{name}' '{reference}']
+
+When parsing the values is parsed and the result is compared to the reference value.
+If the values don't match, a log message is sent.
+
+This field doesn't keep any data in memory.
+
+See also:
+- `const` field
+
+==== simple Field
+
+Simple fields are the most common types of fields.
+A `simple` field directly mapped to a normally typed field.
+
+    [simple {simple-type} {size} '{name}']
+
+    [simple {complex-type} '{name}']
+
+When parsing, the given type is parsed (can't be `null`) and saved in the corresponding model instance's property field.
+
+When serializing it is serialized normally.
+
+==== virtual Field
+
+Virtual fields have no impact on the input or output.
+They simply result in creating artificial get-methods in the generated model classes.
+
+    [virtual {simple-type} {size} '{name}' '{value-expression}']
+
+    [virtual {complex-type} '{name}' '{value-expression}']
+
+Instead of being bound to a property, the return value of a `virtual` property is created by evaluating the `value-expression`.
 
 ==== typeSwitch Field
 
+These types of fields can only occur in discriminated types.
+
+A `discriminatedType` must contain *exactly one* `typeSwitch` field, as it defines the sub-types.
+
     [typeSwitch '{arument-1}', '{arument-2}', ...
         ['{argument-1-value-1}' {subtype-1-name}
             ... Fields ...
@@ -184,6 +297,7 @@ This way the application will not break in the future if devices start using the
         ]
 
 A type switch element must contain a list of at least one argument expression.
+Only the last option can stay empty, which results in a default type.
 
 Each sub-type declares a comma-separated list of concrete values.
 
@@ -201,6 +315,9 @@ The third case in above code-snippet also passes a named attribute to the sub-ty
 The name must be identical to any argument or named field parsed before the switchType.
 These arguments are then available for expressions or passing on in the subtypes.
 
+See also:
+- `discriminatedType`
+
 ==== Parameters
 
 Some times it is necessary to pass along additional parameters.
diff --git a/src/site/asciidoc/developers/contributing.adoc b/src/site/asciidoc/developers/contributing.adoc
index 94ff18b..78a1f9d 100644
--- a/src/site/asciidoc/developers/contributing.adoc
+++ b/src/site/asciidoc/developers/contributing.adoc
@@ -58,7 +58,8 @@ Every forked repository has an additional button called "New Pull Request":
 
 image::contributing-github-create-pull-request.png[]
 
-If you click on this, we will receive a notification on your changes and can review them. We also can discuss your changes and have you perfect your pull request before we accept and merge it into PLC4X.
+If you click on this, we will receive a notification on your changes and can review them.
+We also can discuss your changes and have you perfect your pull request before we accept and merge it into PLC4X.
 
 ==== Keeping your fork up to date
 
@@ -66,7 +67,8 @@ As we are continuously working on PLC4X and you created a copy of our repo, this
 
 In order get the changes we introduced in the official repo you have to tell git about that.
 
-You do this locally by adding a new so-called `remote`. Per default the remote you cloned from is called `origin`.
+You do this locally by adding a new so-called `remote`.
+Per default the remote you cloned from is called `origin`.
 
 Usually you will call the second remote `upstream` but in general you can call it whatever you like.
 
@@ -91,7 +93,8 @@ In order to get all changes of our upstream-repository, just execute the followi
 
     git pull upstream
 
-This will get all changed from upstream and merge them locally. In order to update your GitHub version, you have to push things back to `origin`. You can do this by executing the following command:
+This will get all changed from upstream and merge them locally. In order to update your GitHub version, you have to push things back to `origin`.
+You can do this by executing the following command:
 
     git push
 
@@ -115,7 +118,8 @@ If you want to be assigned to an issue because you want to work on it, please re
 
 As our documentation and website are generated as a side-product of our build, contributing to this technically the same as contributing to the code.
 
-All our content is written in Asciidoctor and is located in `src/site/asciidoc` directories. For a reference of the Asciidoctor syntax please have a look at the https://asciidoctor.org/docs/user-manual/#introduction-to-asciidoctor[Asciidoctor documentation].
+All our content is written in Asciidoctor and is located in `src/site/asciidoc` directories.
+For a reference of the Asciidoctor syntax please have a look at the https://asciidoctor.org/docs/user-manual/#introduction-to-asciidoctor[Asciidoctor documentation].
 
 === Branching model
 
diff --git a/src/site/asciidoc/developers/preparing.adoc b/src/site/asciidoc/developers/preparing.adoc
index 30b7cd9..bc06338 100644
--- a/src/site/asciidoc/developers/preparing.adoc
+++ b/src/site/asciidoc/developers/preparing.adoc
@@ -21,15 +21,15 @@ Building a project like Apache PLC4X on multiple target operating-systems is qui
 
 However when building any of the parts of PLC4X there are some requirements the build is expecting you to have provided.
 
-In order to build at all you are required to have `Java` installed on your machine.
-We have tested the build with Java 8 up to Java 12.
+In order to build at all you are required to have `Java 8` installed on your machine.
+We have tested the build with Java 8 up to Java 13.
 If a new version comes out, please give us a little time to handle any related issues, but we'll probably fix them as soon as possible.
 However in the past with Oracle's new release strategy, there have been a few bumps on the road.
 
 [width=100%]
 |===
 | Profile        | Description                                              | Requirements
-| `with-java`    | Builds Java API, drivers, integrations, examples        a|
+|                | Builds Java API, drivers, integrations, examples        a|
 * Git
 * LibPCAP (Optional)
 | `with-cpp`     | Builds C++ API, drivers, integrations, examples         a|
@@ -43,7 +43,6 @@ However in the past with Oracle's new release strategy, there have been a few bu
 * bison
 * flex
 * python
-| `with-sandbox` | Adds some experimental modules                          a|
 |===
 
 The following chapters will describe how to provide these requirements sorted by operating system.
diff --git a/src/site/asciidoc/developers/release.adoc b/src/site/asciidoc/developers/release.adoc
index 2bde5c0..a5afe50 100644
--- a/src/site/asciidoc/developers/release.adoc
+++ b/src/site/asciidoc/developers/release.adoc
@@ -105,14 +105,14 @@ This is the version the `develop` branch will be changed to.
 The parameter `autoVersionSubmodules` will tell the release plugin to release all modules with the same version.
 Otherwise we would have to define the working copy version for each module.
 
-   mvn release:branch -P with-cpp,with-dotnet,with-java,with-proxies,with-python,with-sandbox,with-boost,with-logstash -DbranchName=rel/{minor-version} -DautoVersionSubmodules=true
+   mvn release:branch -P with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash -DbranchName=rel/{minor-version} -DautoVersionSubmodules=true
 
 Per default the plugin suggests the next bugfix version as working version, however we want it to use the next minor version.
 So in case of preparing the release branch for `0.5.0-SNAPSHOT` the command would be the following:
 
 [subs="verbatim,attributes"]
 ----
-   mvn release:branch -P with-cpp,with-dotnet,with-java,with-proxies,with-python,with-sandbox -DbranchName=rel/{current-short-version} -DautoVersionSubmodules=true
+   mvn release:branch -P with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash -DbranchName=rel/{current-short-version} -DautoVersionSubmodules=true
 ----
 
 The plugin will then aks for the version:
@@ -173,9 +173,9 @@ In order to prepare a release-candidate, the first step is switching to the corr
 
 After that, the following command will to all preparation steps for the release:
 
-   mvn release:prepare -P with-cpp,with-dotnet,with-java,with-proxies,with-python,with-sandbox,with-boost,with-logstash -DautoVersionSubmodules=true
+   mvn release:prepare -P with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash -DautoVersionSubmodules=true
 
-(The `-P with-cpp,with-dotnet,with-java,with-proxies,with-python,with-sandbox,with-boost,with-logstash` tells maven to activate the all profiles that partition the build and makes sure the versions of all modules are updated as part of the release)
+(The `-P with-sandbox,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash` tells maven to activate the all profiles that partition the build and makes sure the versions of all modules are updated as part of the release)
 In general the plugin will now ask you 3 questions:
 
 1. The version we want to release as (It will suggest the version you get by omitting the `-SNAPSHOT` suffix)
@@ -233,14 +233,14 @@ However it will not delete the tag in GIT (locally and remotely). So you have to
 
 This is done by executing another goal of the `maven-release-plugin`:
 
-   mvn release:perform -DreleaseProfiles=apache-release,with-java,with-proxies
+   mvn release:perform -DreleaseProfiles=apache-release,with-proxies,with-logstash
 
 This executes automatically as all information it requires is located in the `release.properties` file the `prepare` goal prepared.
 
 The first step is that the `perform` goal checks out the previously tagged revision into the root modules `target/checkout` directory.
 Here it automatically executes a maven build (You don't have to do this, it's just that you know what's happening):
 
-   mvn clean deploy -P apache-release,with-java,with-proxies
+   mvn clean deploy -P apache-release,with-proxies,with-logstash
 
 As the `apache-release` profile is also activated, this builds and tests the project as well as creates the JavaDocs, Source packages and signs each of these with your PGP key.
 
diff --git a/tools/thrift/pom.xml b/tools/thrift/pom.xml
index 6a74e72..d3b26ca 100644
--- a/tools/thrift/pom.xml
+++ b/tools/thrift/pom.xml
@@ -191,6 +191,7 @@
               <url>${cmake.url}</url>
               <unpack>true</unpack>
               <outputDirectory>${project.build.directory}</outputDirectory>
+              <overwrite>true</overwrite>
             </configuration>
           </execution>
           <!-- Download the sources for building the thrift compiler -->
@@ -204,6 +205,7 @@
               <url>http://www.apache.org/dyn/closer.lua?action=download&amp;filename=/thrift/${thrift.version}/thrift-${thrift.version}.tar.gz</url>
               <unpack>true</unpack>
               <outputDirectory>${project.build.directory}</outputDirectory>
+              <overwrite>true</overwrite>
             </configuration>
           </execution>
         </executions>