diff --git a/.github/workflows/docs-test.yml b/.github/workflows/docs-test.yml
index d651c67..1837987 100644
--- a/.github/workflows/docs-test.yml
+++ b/.github/workflows/docs-test.yml
@@ -1,17 +1,18 @@
-name: Test Docs deployment
+name: Docs Test
 
 on:
   pull_request:
     branches:
       - main
     paths:
-      - packages/docs/**
+      - docs/**
   # Allows you to run this workflow manually from the Actions tab
   workflow_dispatch:
 
-defaults:
-  run:
-    working-directory: ./packages/docs
+# cancel previous tests if new commit is pushed to PR branch
+concurrency:
+  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+  cancel-in-progress: true
 
 jobs:
   test-docs:
@@ -25,9 +26,12 @@ jobs:
         with:
           node-version: 18
           cache: npm
-          cache-dependency-path: './packages/docs/package-lock.json'
+          cache-dependency-path: ./docs/package-lock.json
 
       - name: Install dependencies
+        working-directory: ./docs
         run: npm ci
+
       - name: Test build website
+        working-directory: ./docs
         run: npm run build
\ No newline at end of file
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index cff019b..bc42553 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -1,11 +1,11 @@
-name: Deploy Docs to GitHub Pages
+name: Docs deploy to GitHub Pages
 
 on:
   push:
     branches:
       - main
     paths:
-      - packages/docs/**
+      - docs/**
   # Allows you to run this workflow manually from the Actions tab
   workflow_dispatch:
 
@@ -29,20 +29,20 @@ jobs:
         with:
           node-version: 18
           cache: npm
-          cache-dependency-path: './packages/docs/package-lock.json'
+          cache-dependency-path: ./docs/package-lock.json
 
       - name: Install Dependencies
-        working-directory: './packages/docs'
+        working-directory: ./docs
         run: npm ci
 
       - name: Build
-        working-directory: './packages/docs'
+        working-directory: ./docs
         run: npm run build
 
       - name: Upload artifact
         uses: actions/upload-pages-artifact@v3
         with:
-          path: './packages/docs/build'
+          path: ./docs/build
   deploy:
     name: Deploy to GitHub Pages
     needs: build
diff --git a/.github/workflows/ci.yml b/.github/workflows/java-json-transform-test.yml
similarity index 77%
rename from .github/workflows/ci.yml
rename to .github/workflows/java-json-transform-test.yml
index f598ab2..abda6b0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/java-json-transform-test.yml
@@ -1,14 +1,14 @@
-name: Test Java CI
+name: Java json-transform Test
 
 on:
   push:
     branches: [ "main" ]
     paths:
-      - '!packages/**'
+      - java/json-transform/**
   pull_request:
     branches: [ "main" ]
     paths:
-      - '!packages/**'
+      - java/json-transform/**
 
 # cancel previous tests if new commit is pushed to PR branch
 concurrency:
@@ -43,7 +43,16 @@ jobs:
       with:
         # build includes tests
         arguments: |
-          build
+          :java:json-transform:build
+          --console=plain
+          --parallel
+          -Dorg.gradle.parallel.intra=true
+
+    - name: Run benchmarking tests with Gradle
+      uses: gradle/gradle-build-action@v2.4.2
+      with:
+        arguments: |
+          :java:json-transform:jmh
           --console=plain
           --parallel
           -Dorg.gradle.parallel.intra=true
@@ -52,7 +61,7 @@ jobs:
       uses: dorny/test-reporter@v1
       if: success() || failure()                    # run this step even if previous step failed
       with:
-          name: Test Results                        # Name of the check run which will be created
+          name: Java json-transform Test Results    # Name of the check run which will be created
           path: '**/build/test-results/test/*.xml'  # Path to test results
           reporter: java-junit                      # Format of test results
           list-suites: 'failed'                     # Limits which test suites are listed: (*all/failed) *default
diff --git a/.github/workflows/node-test-json-transform-core.yml b/.github/workflows/javascript-json-transform-core-test.yml
similarity index 64%
rename from .github/workflows/node-test-json-transform-core.yml
rename to .github/workflows/javascript-json-transform-core-test.yml
index e1dd788..cbc8306 100644
--- a/.github/workflows/node-test-json-transform-core.yml
+++ b/.github/workflows/javascript-json-transform-core-test.yml
@@ -1,20 +1,17 @@
-name: Run Tests
+name: JavaScript json-transform-core Test
 
 on:
   pull_request:
     branches:
       - main
     paths:
-      - packages/json-transform-core/**
+      - javascript/json-transform-core/**
+
 # cancel previous tests if new commit is pushed to PR branch
 concurrency:
   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
   cancel-in-progress: true
 
-defaults:
-  run:
-    working-directory: ./packages/json-transform-core
-
 jobs:
   test:
     runs-on: ubuntu-latest
@@ -25,8 +22,12 @@ jobs:
         with:
           node-version: 18
           cache: npm
-          cache-dependency-path: './packages/json-transform-core/package-lock.json'
+          cache-dependency-path: ./javascript/json-transform-core/package-lock.json
+
       - name: Install dependencies
+        working-directory: ./javascript/json-transform-core
         run: npm ci
+
       - name: Run tests
+        working-directory: ./javascript/json-transform-core
         run: npm test
diff --git a/README.md b/README.md
index d1ccabb..3cb13c4 100644
--- a/README.md
+++ b/README.md
@@ -1,28 +1,10 @@
 # json-transform
 
-[](https://central.sonatype.com/artifact/co.nlighten/json-transform)
-[](https://javadoc.io/doc/co.nlighten/json-transform)
-[](https://github.com/nlighten-oss/json-transform/actions/workflows/ci.yml)
-[](https://github.com/nlighten-oss/json-transform/releases)
-[](./LICENSE)
+- [Documentation](https://nlighten-oss.github.io/json-transform/)
 
+## Packages
 
-## Installation
-
-Maven
-```xml
-
-    co.nlighten
-    json-transform
-    0.2.0
-
-```
-
-Gradle
-```groovy
-implementation 'co.nlighten:json-transform:0.2.0'
-```
-
-## License
-
-[Apache License 2.0](./LICENSE)
\ No newline at end of file
+|Language|Name|Description|License|Status|
+|---|---|---|---|---|
+|Java|[co.nlighten.json-transform](./java/json-transform)|Java library for transforming JSON objects|Apache License 2.0||
+|JavaScript|[@nlighten/json-transform-core](./javascript/json-transform-core)|Core types and utilities for handling JSON transformers|MIT||
diff --git a/packages/docs/.gitignore b/docs/.gitignore
similarity index 100%
rename from packages/docs/.gitignore
rename to docs/.gitignore
diff --git a/packages/docs/README.md b/docs/README.md
similarity index 100%
rename from packages/docs/README.md
rename to docs/README.md
diff --git a/packages/docs/babel.config.js b/docs/babel.config.js
similarity index 100%
rename from packages/docs/babel.config.js
rename to docs/babel.config.js
diff --git a/packages/docs/code_theme.ts b/docs/code_theme.ts
similarity index 100%
rename from packages/docs/code_theme.ts
rename to docs/code_theme.ts
diff --git a/packages/docs/docs/comparison-logic.md b/docs/docs/comparison-logic.md
similarity index 100%
rename from packages/docs/docs/comparison-logic.md
rename to docs/docs/comparison-logic.md
diff --git a/packages/docs/docs/default-locale.md b/docs/docs/default-locale.md
similarity index 100%
rename from packages/docs/docs/default-locale.md
rename to docs/docs/default-locale.md
diff --git a/packages/docs/docs/function-context.md b/docs/docs/function-context.md
similarity index 100%
rename from packages/docs/docs/function-context.md
rename to docs/docs/function-context.md
diff --git a/packages/docs/docs/functions/_category_.json b/docs/docs/functions/_category_.json
similarity index 100%
rename from packages/docs/docs/functions/_category_.json
rename to docs/docs/functions/_category_.json
diff --git a/packages/docs/docs/functions/and.md b/docs/docs/functions/and.md
similarity index 100%
rename from packages/docs/docs/functions/and.md
rename to docs/docs/functions/and.md
diff --git a/packages/docs/docs/functions/at.md b/docs/docs/functions/at.md
similarity index 100%
rename from packages/docs/docs/functions/at.md
rename to docs/docs/functions/at.md
diff --git a/packages/docs/docs/functions/avg.md b/docs/docs/functions/avg.md
similarity index 100%
rename from packages/docs/docs/functions/avg.md
rename to docs/docs/functions/avg.md
diff --git a/packages/docs/docs/functions/base64.md b/docs/docs/functions/base64.md
similarity index 100%
rename from packages/docs/docs/functions/base64.md
rename to docs/docs/functions/base64.md
diff --git a/packages/docs/docs/functions/boolean.md b/docs/docs/functions/boolean.md
similarity index 100%
rename from packages/docs/docs/functions/boolean.md
rename to docs/docs/functions/boolean.md
diff --git a/packages/docs/docs/functions/coalesce.md b/docs/docs/functions/coalesce.md
similarity index 100%
rename from packages/docs/docs/functions/coalesce.md
rename to docs/docs/functions/coalesce.md
diff --git a/packages/docs/docs/functions/concat.md b/docs/docs/functions/concat.md
similarity index 100%
rename from packages/docs/docs/functions/concat.md
rename to docs/docs/functions/concat.md
diff --git a/packages/docs/docs/functions/contains.md b/docs/docs/functions/contains.md
similarity index 100%
rename from packages/docs/docs/functions/contains.md
rename to docs/docs/functions/contains.md
diff --git a/packages/docs/docs/functions/csv.md b/docs/docs/functions/csv.md
similarity index 100%
rename from packages/docs/docs/functions/csv.md
rename to docs/docs/functions/csv.md
diff --git a/packages/docs/docs/functions/csvparse.md b/docs/docs/functions/csvparse.md
similarity index 100%
rename from packages/docs/docs/functions/csvparse.md
rename to docs/docs/functions/csvparse.md
diff --git a/packages/docs/docs/functions/date.md b/docs/docs/functions/date.md
similarity index 100%
rename from packages/docs/docs/functions/date.md
rename to docs/docs/functions/date.md
diff --git a/packages/docs/docs/functions/decimal.md b/docs/docs/functions/decimal.md
similarity index 100%
rename from packages/docs/docs/functions/decimal.md
rename to docs/docs/functions/decimal.md
diff --git a/packages/docs/docs/functions/digest.md b/docs/docs/functions/digest.md
similarity index 100%
rename from packages/docs/docs/functions/digest.md
rename to docs/docs/functions/digest.md
diff --git a/packages/docs/docs/functions/distinct.md b/docs/docs/functions/distinct.md
similarity index 100%
rename from packages/docs/docs/functions/distinct.md
rename to docs/docs/functions/distinct.md
diff --git a/packages/docs/docs/functions/entries.md b/docs/docs/functions/entries.md
similarity index 100%
rename from packages/docs/docs/functions/entries.md
rename to docs/docs/functions/entries.md
diff --git a/packages/docs/docs/functions/eval.md b/docs/docs/functions/eval.md
similarity index 100%
rename from packages/docs/docs/functions/eval.md
rename to docs/docs/functions/eval.md
diff --git a/packages/docs/docs/functions/filter.md b/docs/docs/functions/filter.md
similarity index 100%
rename from packages/docs/docs/functions/filter.md
rename to docs/docs/functions/filter.md
diff --git a/packages/docs/docs/functions/find.md b/docs/docs/functions/find.md
similarity index 100%
rename from packages/docs/docs/functions/find.md
rename to docs/docs/functions/find.md
diff --git a/packages/docs/docs/functions/flat.md b/docs/docs/functions/flat.md
similarity index 100%
rename from packages/docs/docs/functions/flat.md
rename to docs/docs/functions/flat.md
diff --git a/packages/docs/docs/functions/flatten.md b/docs/docs/functions/flatten.md
similarity index 100%
rename from packages/docs/docs/functions/flatten.md
rename to docs/docs/functions/flatten.md
diff --git a/packages/docs/docs/functions/form.md b/docs/docs/functions/form.md
similarity index 100%
rename from packages/docs/docs/functions/form.md
rename to docs/docs/functions/form.md
diff --git a/packages/docs/docs/functions/formparse.md b/docs/docs/functions/formparse.md
similarity index 100%
rename from packages/docs/docs/functions/formparse.md
rename to docs/docs/functions/formparse.md
diff --git a/packages/docs/docs/functions/group.md b/docs/docs/functions/group.md
similarity index 100%
rename from packages/docs/docs/functions/group.md
rename to docs/docs/functions/group.md
diff --git a/packages/docs/docs/functions/if.md b/docs/docs/functions/if.md
similarity index 100%
rename from packages/docs/docs/functions/if.md
rename to docs/docs/functions/if.md
diff --git a/packages/docs/docs/functions/is.md b/docs/docs/functions/is.md
similarity index 100%
rename from packages/docs/docs/functions/is.md
rename to docs/docs/functions/is.md
diff --git a/packages/docs/docs/functions/isnull.md b/docs/docs/functions/isnull.md
similarity index 100%
rename from packages/docs/docs/functions/isnull.md
rename to docs/docs/functions/isnull.md
diff --git a/packages/docs/docs/functions/join.md b/docs/docs/functions/join.md
similarity index 100%
rename from packages/docs/docs/functions/join.md
rename to docs/docs/functions/join.md
diff --git a/packages/docs/docs/functions/jsonparse.md b/docs/docs/functions/jsonparse.md
similarity index 100%
rename from packages/docs/docs/functions/jsonparse.md
rename to docs/docs/functions/jsonparse.md
diff --git a/packages/docs/docs/functions/jsonpatch.md b/docs/docs/functions/jsonpatch.md
similarity index 100%
rename from packages/docs/docs/functions/jsonpatch.md
rename to docs/docs/functions/jsonpatch.md
diff --git a/packages/docs/docs/functions/jsonpath.md b/docs/docs/functions/jsonpath.md
similarity index 100%
rename from packages/docs/docs/functions/jsonpath.md
rename to docs/docs/functions/jsonpath.md
diff --git a/packages/docs/docs/functions/jsonpointer.md b/docs/docs/functions/jsonpointer.md
similarity index 100%
rename from packages/docs/docs/functions/jsonpointer.md
rename to docs/docs/functions/jsonpointer.md
diff --git a/packages/docs/docs/functions/jwtparse.md b/docs/docs/functions/jwtparse.md
similarity index 100%
rename from packages/docs/docs/functions/jwtparse.md
rename to docs/docs/functions/jwtparse.md
diff --git a/packages/docs/docs/functions/length.md b/docs/docs/functions/length.md
similarity index 100%
rename from packages/docs/docs/functions/length.md
rename to docs/docs/functions/length.md
diff --git a/packages/docs/docs/functions/long.md b/docs/docs/functions/long.md
similarity index 100%
rename from packages/docs/docs/functions/long.md
rename to docs/docs/functions/long.md
diff --git a/packages/docs/docs/functions/lookup.md b/docs/docs/functions/lookup.md
similarity index 100%
rename from packages/docs/docs/functions/lookup.md
rename to docs/docs/functions/lookup.md
diff --git a/packages/docs/docs/functions/lower.md b/docs/docs/functions/lower.md
similarity index 100%
rename from packages/docs/docs/functions/lower.md
rename to docs/docs/functions/lower.md
diff --git a/packages/docs/docs/functions/map.md b/docs/docs/functions/map.md
similarity index 100%
rename from packages/docs/docs/functions/map.md
rename to docs/docs/functions/map.md
diff --git a/packages/docs/docs/functions/match.md b/docs/docs/functions/match.md
similarity index 100%
rename from packages/docs/docs/functions/match.md
rename to docs/docs/functions/match.md
diff --git a/packages/docs/docs/functions/matchall.md b/docs/docs/functions/matchall.md
similarity index 100%
rename from packages/docs/docs/functions/matchall.md
rename to docs/docs/functions/matchall.md
diff --git a/packages/docs/docs/functions/math.md b/docs/docs/functions/math.md
similarity index 100%
rename from packages/docs/docs/functions/math.md
rename to docs/docs/functions/math.md
diff --git a/packages/docs/docs/functions/max.md b/docs/docs/functions/max.md
similarity index 100%
rename from packages/docs/docs/functions/max.md
rename to docs/docs/functions/max.md
diff --git a/packages/docs/docs/functions/min.md b/docs/docs/functions/min.md
similarity index 100%
rename from packages/docs/docs/functions/min.md
rename to docs/docs/functions/min.md
diff --git a/packages/docs/docs/functions/normalize.md b/docs/docs/functions/normalize.md
similarity index 100%
rename from packages/docs/docs/functions/normalize.md
rename to docs/docs/functions/normalize.md
diff --git a/packages/docs/docs/functions/not.md b/docs/docs/functions/not.md
similarity index 100%
rename from packages/docs/docs/functions/not.md
rename to docs/docs/functions/not.md
diff --git a/packages/docs/docs/functions/numberformat.md b/docs/docs/functions/numberformat.md
similarity index 100%
rename from packages/docs/docs/functions/numberformat.md
rename to docs/docs/functions/numberformat.md
diff --git a/packages/docs/docs/functions/numberparse.md b/docs/docs/functions/numberparse.md
similarity index 100%
rename from packages/docs/docs/functions/numberparse.md
rename to docs/docs/functions/numberparse.md
diff --git a/packages/docs/docs/functions/object.md b/docs/docs/functions/object.md
similarity index 100%
rename from packages/docs/docs/functions/object.md
rename to docs/docs/functions/object.md
diff --git a/packages/docs/docs/functions/or.md b/docs/docs/functions/or.md
similarity index 100%
rename from packages/docs/docs/functions/or.md
rename to docs/docs/functions/or.md
diff --git a/packages/docs/docs/functions/pad.md b/docs/docs/functions/pad.md
similarity index 100%
rename from packages/docs/docs/functions/pad.md
rename to docs/docs/functions/pad.md
diff --git a/packages/docs/docs/functions/partition.md b/docs/docs/functions/partition.md
similarity index 100%
rename from packages/docs/docs/functions/partition.md
rename to docs/docs/functions/partition.md
diff --git a/packages/docs/docs/functions/range.md b/docs/docs/functions/range.md
similarity index 100%
rename from packages/docs/docs/functions/range.md
rename to docs/docs/functions/range.md
diff --git a/packages/docs/docs/functions/raw.md b/docs/docs/functions/raw.md
similarity index 100%
rename from packages/docs/docs/functions/raw.md
rename to docs/docs/functions/raw.md
diff --git a/packages/docs/docs/functions/reduce.md b/docs/docs/functions/reduce.md
similarity index 100%
rename from packages/docs/docs/functions/reduce.md
rename to docs/docs/functions/reduce.md
diff --git a/packages/docs/docs/functions/replace.md b/docs/docs/functions/replace.md
similarity index 100%
rename from packages/docs/docs/functions/replace.md
rename to docs/docs/functions/replace.md
diff --git a/packages/docs/docs/functions/reverse.md b/docs/docs/functions/reverse.md
similarity index 100%
rename from packages/docs/docs/functions/reverse.md
rename to docs/docs/functions/reverse.md
diff --git a/packages/docs/docs/functions/slice.md b/docs/docs/functions/slice.md
similarity index 100%
rename from packages/docs/docs/functions/slice.md
rename to docs/docs/functions/slice.md
diff --git a/packages/docs/docs/functions/sort.md b/docs/docs/functions/sort.md
similarity index 100%
rename from packages/docs/docs/functions/sort.md
rename to docs/docs/functions/sort.md
diff --git a/packages/docs/docs/functions/split.md b/docs/docs/functions/split.md
similarity index 100%
rename from packages/docs/docs/functions/split.md
rename to docs/docs/functions/split.md
diff --git a/packages/docs/docs/functions/string.md b/docs/docs/functions/string.md
similarity index 100%
rename from packages/docs/docs/functions/string.md
rename to docs/docs/functions/string.md
diff --git a/packages/docs/docs/functions/substring.md b/docs/docs/functions/substring.md
similarity index 100%
rename from packages/docs/docs/functions/substring.md
rename to docs/docs/functions/substring.md
diff --git a/packages/docs/docs/functions/sum.md b/docs/docs/functions/sum.md
similarity index 100%
rename from packages/docs/docs/functions/sum.md
rename to docs/docs/functions/sum.md
diff --git a/packages/docs/docs/functions/switch.md b/docs/docs/functions/switch.md
similarity index 100%
rename from packages/docs/docs/functions/switch.md
rename to docs/docs/functions/switch.md
diff --git a/packages/docs/docs/functions/test.md b/docs/docs/functions/test.md
similarity index 100%
rename from packages/docs/docs/functions/test.md
rename to docs/docs/functions/test.md
diff --git a/packages/docs/docs/functions/transform.md b/docs/docs/functions/transform.md
similarity index 100%
rename from packages/docs/docs/functions/transform.md
rename to docs/docs/functions/transform.md
diff --git a/packages/docs/docs/functions/trim.md b/docs/docs/functions/trim.md
similarity index 100%
rename from packages/docs/docs/functions/trim.md
rename to docs/docs/functions/trim.md
diff --git a/packages/docs/docs/functions/unflatten.md b/docs/docs/functions/unflatten.md
similarity index 100%
rename from packages/docs/docs/functions/unflatten.md
rename to docs/docs/functions/unflatten.md
diff --git a/packages/docs/docs/functions/upper.md b/docs/docs/functions/upper.md
similarity index 100%
rename from packages/docs/docs/functions/upper.md
rename to docs/docs/functions/upper.md
diff --git a/packages/docs/docs/functions/uriparse.md b/docs/docs/functions/uriparse.md
similarity index 100%
rename from packages/docs/docs/functions/uriparse.md
rename to docs/docs/functions/uriparse.md
diff --git a/packages/docs/docs/functions/urldecode.md b/docs/docs/functions/urldecode.md
similarity index 100%
rename from packages/docs/docs/functions/urldecode.md
rename to docs/docs/functions/urldecode.md
diff --git a/packages/docs/docs/functions/urlencode.md b/docs/docs/functions/urlencode.md
similarity index 100%
rename from packages/docs/docs/functions/urlencode.md
rename to docs/docs/functions/urlencode.md
diff --git a/packages/docs/docs/functions/uuid.md b/docs/docs/functions/uuid.md
similarity index 100%
rename from packages/docs/docs/functions/uuid.md
rename to docs/docs/functions/uuid.md
diff --git a/packages/docs/docs/functions/value.md b/docs/docs/functions/value.md
similarity index 100%
rename from packages/docs/docs/functions/value.md
rename to docs/docs/functions/value.md
diff --git a/packages/docs/docs/functions/wrap.md b/docs/docs/functions/wrap.md
similarity index 100%
rename from packages/docs/docs/functions/wrap.md
rename to docs/docs/functions/wrap.md
diff --git a/packages/docs/docs/functions/xml.md b/docs/docs/functions/xml.md
similarity index 100%
rename from packages/docs/docs/functions/xml.md
rename to docs/docs/functions/xml.md
diff --git a/packages/docs/docs/functions/xmlparse.md b/docs/docs/functions/xmlparse.md
similarity index 100%
rename from packages/docs/docs/functions/xmlparse.md
rename to docs/docs/functions/xmlparse.md
diff --git a/packages/docs/docs/functions/xor.md b/docs/docs/functions/xor.md
similarity index 100%
rename from packages/docs/docs/functions/xor.md
rename to docs/docs/functions/xor.md
diff --git a/packages/docs/docs/functions/yaml.md b/docs/docs/functions/yaml.md
similarity index 100%
rename from packages/docs/docs/functions/yaml.md
rename to docs/docs/functions/yaml.md
diff --git a/packages/docs/docs/functions/yamlparse.md b/docs/docs/functions/yamlparse.md
similarity index 100%
rename from packages/docs/docs/functions/yamlparse.md
rename to docs/docs/functions/yamlparse.md
diff --git a/packages/docs/docs/intro.md b/docs/docs/intro.md
similarity index 100%
rename from packages/docs/docs/intro.md
rename to docs/docs/intro.md
diff --git a/packages/docs/docs/spread.md b/docs/docs/spread.md
similarity index 100%
rename from packages/docs/docs/spread.md
rename to docs/docs/spread.md
diff --git a/packages/docs/docs/truthy-logic.md b/docs/docs/truthy-logic.md
similarity index 100%
rename from packages/docs/docs/truthy-logic.md
rename to docs/docs/truthy-logic.md
diff --git a/packages/docs/docusaurus.config.ts b/docs/docusaurus.config.ts
similarity index 99%
rename from packages/docs/docusaurus.config.ts
rename to docs/docusaurus.config.ts
index e5894da..a78e4b0 100644
--- a/packages/docs/docusaurus.config.ts
+++ b/docs/docusaurus.config.ts
@@ -44,7 +44,7 @@ const config: Config = {
           sidebarPath: "./sidebars.ts",
           // Please change this to your repo.
           // Remove this to remove the "edit this page" links.
-          editUrl: "https://github.com/nlighten-oss/json-transform/tree/main/packages/docs/",
+          editUrl: "https://github.com/nlighten-oss/json-transform/tree/main/docs/",
         },
         theme: {
           customCss: "./src/css/custom.css",
diff --git a/packages/docs/package-lock.json b/docs/package-lock.json
similarity index 100%
rename from packages/docs/package-lock.json
rename to docs/package-lock.json
diff --git a/packages/docs/package.json b/docs/package.json
similarity index 100%
rename from packages/docs/package.json
rename to docs/package.json
diff --git a/packages/docs/sidebars.ts b/docs/sidebars.ts
similarity index 100%
rename from packages/docs/sidebars.ts
rename to docs/sidebars.ts
diff --git a/packages/docs/src/css/custom.css b/docs/src/css/custom.css
similarity index 100%
rename from packages/docs/src/css/custom.css
rename to docs/src/css/custom.css
diff --git a/packages/docs/src/theme/prism-include-languages.js b/docs/src/theme/prism-include-languages.js
similarity index 100%
rename from packages/docs/src/theme/prism-include-languages.js
rename to docs/src/theme/prism-include-languages.js
diff --git a/packages/docs/src/theme/prism-language-transformers.js b/docs/src/theme/prism-language-transformers.js
similarity index 100%
rename from packages/docs/src/theme/prism-language-transformers.js
rename to docs/src/theme/prism-language-transformers.js
diff --git a/packages/docs/static/.nojekyll b/docs/static/.nojekyll
similarity index 100%
rename from packages/docs/static/.nojekyll
rename to docs/static/.nojekyll
diff --git a/packages/docs/static/img/favicon.ico b/docs/static/img/favicon.ico
similarity index 100%
rename from packages/docs/static/img/favicon.ico
rename to docs/static/img/favicon.ico
diff --git a/packages/docs/static/img/logo.png b/docs/static/img/logo.png
similarity index 100%
rename from packages/docs/static/img/logo.png
rename to docs/static/img/logo.png
diff --git a/packages/docs/tsconfig.json b/docs/tsconfig.json
similarity index 100%
rename from packages/docs/tsconfig.json
rename to docs/tsconfig.json
diff --git a/LICENSE b/java/json-transform/LICENSE
similarity index 100%
rename from LICENSE
rename to java/json-transform/LICENSE
diff --git a/java/json-transform/README.md b/java/json-transform/README.md
new file mode 100644
index 0000000..7604bfa
--- /dev/null
+++ b/java/json-transform/README.md
@@ -0,0 +1,28 @@
+# co.nlighten.json-transform
+
+[](https://central.sonatype.com/artifact/co.nlighten/json-transform)
+[](https://javadoc.io/doc/co.nlighten/json-transform)
+[](https://github.com/nlighten-oss/json-transform/actions/workflows/java-json-transform-test.yml)
+[](https://github.com/nlighten-oss/json-transform/releases)
+[](./LICENSE)
+
+
+## Installation
+
+Maven
+```xml
+
+    co.nlighten
+    json-transform
+    0.2.0
+
+```
+
+Gradle
+```groovy
+implementation 'co.nlighten:json-transform:0.2.0'
+```
+
+## License
+
+[Apache License 2.0](./LICENSE)
\ No newline at end of file
diff --git a/build.gradle b/java/json-transform/build.gradle
similarity index 100%
rename from build.gradle
rename to java/json-transform/build.gradle
diff --git a/src/jmh/java/transformers/TransformersFunctionsBenchmarksTests.java b/java/json-transform/src/jmh/java/transformers/TransformersFunctionsBenchmarksTests.java
similarity index 100%
rename from src/jmh/java/transformers/TransformersFunctionsBenchmarksTests.java
rename to java/json-transform/src/jmh/java/transformers/TransformersFunctionsBenchmarksTests.java
diff --git a/src/main/java/co/nlighten/jsontransform/FunctionsDescriber.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/FunctionsDescriber.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/FunctionsDescriber.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/FunctionsDescriber.java
diff --git a/src/main/java/co/nlighten/jsontransform/JsonElementStreamer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/JsonElementStreamer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/JsonElementStreamer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/JsonElementStreamer.java
diff --git a/src/main/java/co/nlighten/jsontransform/JsonTransformer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/JsonTransformer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/JsonTransformer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/JsonTransformer.java
diff --git a/src/main/java/co/nlighten/jsontransform/JsonTransformerFunction.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/JsonTransformerFunction.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/JsonTransformerFunction.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/JsonTransformerFunction.java
diff --git a/src/main/java/co/nlighten/jsontransform/ParameterResolver.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/ParameterResolver.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/ParameterResolver.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/ParameterResolver.java
diff --git a/src/main/java/co/nlighten/jsontransform/Transformer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/Transformer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/Transformer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/Transformer.java
diff --git a/src/main/java/co/nlighten/jsontransform/TransformerFunctions.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/TransformerFunctions.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/TransformerFunctions.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/TransformerFunctions.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/JsonAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/JsonAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/JsonAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/JsonAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/JsonArrayAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/JsonArrayAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/JsonArrayAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/JsonArrayAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/JsonObjectAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/JsonObjectAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/JsonObjectAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/JsonObjectAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonArrayAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonArrayAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonArrayAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonArrayAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonHelpers.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonHelpers.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonHelpers.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonHelpers.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonElementUnwrapper.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonElementUnwrapper.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonElementUnwrapper.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonElementUnwrapper.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonPathConfigurator.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonPathConfigurator.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonPathConfigurator.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonPathConfigurator.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonTransformer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonTransformer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonTransformer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonJsonTransformer.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonObjectAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonObjectAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/gson/GsonObjectAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/gson/GsonObjectAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgArrayAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgArrayAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgArrayAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgArrayAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonPathConfigurator.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonPathConfigurator.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonPathConfigurator.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonPathConfigurator.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonTransformer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonTransformer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonTransformer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgJsonTransformer.java
diff --git a/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgObjectAdapter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgObjectAdapter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgObjectAdapter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/adapters/jsonorg/JsonOrgObjectAdapter.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/FormatDeserializer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/FormatDeserializer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/FormatDeserializer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/FormatDeserializer.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/FormatSerializer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/FormatSerializer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/FormatSerializer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/FormatSerializer.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/csv/CsvFormat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/csv/CsvFormat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/csv/CsvFormat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/csv/CsvFormat.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormat.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/json/JsonFormat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/json/JsonFormat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/json/JsonFormat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/json/JsonFormat.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/xml/JsonOrg.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/xml/JsonOrg.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/xml/JsonOrg.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/xml/JsonOrg.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/xml/XmlFormat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/xml/XmlFormat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/xml/XmlFormat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/xml/XmlFormat.java
diff --git a/src/main/java/co/nlighten/jsontransform/formats/yaml/YamlFormat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/formats/yaml/YamlFormat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/formats/yaml/YamlFormat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/formats/yaml/YamlFormat.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAnd.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAnd.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAnd.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAnd.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAt.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAt.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAt.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAt.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAvg.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAvg.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAvg.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionAvg.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBoolean.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBoolean.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBoolean.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionBoolean.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesce.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesce.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesce.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesce.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionConcat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionConcat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionConcat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionConcat.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionContains.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionContains.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionContains.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionContains.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsv.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsv.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsv.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsv.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDate.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDate.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDate.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDate.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimal.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimal.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimal.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimal.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDigest.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDigest.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDigest.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDigest.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinct.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinct.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinct.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinct.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEntries.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEntries.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEntries.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEntries.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEval.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEval.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEval.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionEval.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFilter.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFilter.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFilter.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFilter.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFind.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFind.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFind.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFind.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlat.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatten.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatten.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatten.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatten.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionForm.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionForm.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionForm.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionForm.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionGroup.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionGroup.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionGroup.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionGroup.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIf.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIf.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIf.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIf.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIs.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIs.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIs.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIs.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNull.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNull.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNull.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNull.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJoin.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJoin.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJoin.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJoin.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatch.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatch.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatch.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatch.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPath.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPath.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPath.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPath.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointer.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLength.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLength.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLength.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLength.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLong.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLong.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLong.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLong.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLookup.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLookup.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLookup.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLookup.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLower.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLower.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLower.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionLower.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMap.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMap.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMap.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMap.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatch.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatch.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatch.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatch.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAll.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAll.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAll.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAll.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMath.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMath.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMath.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMath.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMax.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMax.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMax.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMax.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMin.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMin.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMin.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionMin.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalize.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalize.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalize.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalize.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNot.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNot.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNot.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNot.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormat.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormat.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormat.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormat.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionObject.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionObject.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionObject.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionObject.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionOr.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionOr.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionOr.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionOr.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPad.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPad.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPad.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPad.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPartition.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPartition.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPartition.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionPartition.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRange.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRange.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRange.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRange.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRaw.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRaw.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRaw.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionRaw.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReduce.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReduce.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReduce.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReduce.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReplace.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReplace.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReplace.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReplace.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReverse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReverse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReverse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionReverse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSlice.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSlice.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSlice.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSlice.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSort.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSort.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSort.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSort.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSplit.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSplit.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSplit.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSplit.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionString.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionString.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionString.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionString.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstring.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstring.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstring.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstring.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSum.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSum.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSum.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSum.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitch.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitch.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitch.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitch.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTest.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTest.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTest.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTest.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTransform.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTransform.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTransform.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTransform.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTrim.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTrim.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTrim.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionTrim.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflatten.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflatten.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflatten.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflatten.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUpper.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUpper.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUpper.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUpper.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecode.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecode.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecode.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecode.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncode.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncode.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncode.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncode.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUuid.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUuid.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUuid.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionUuid.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionValue.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionValue.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionValue.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionValue.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionWrap.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionWrap.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionWrap.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionWrap.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXml.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXml.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXml.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXml.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXor.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXor.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXor.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionXor.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYaml.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYaml.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYaml.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYaml.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParse.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParse.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParse.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParse.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/Aliases.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/Aliases.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/Aliases.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/Aliases.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentType.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentType.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentType.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentType.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentsTypes.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentsTypes.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentsTypes.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/ArgumentsTypes.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/DeprecatedAlias.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/DeprecatedAlias.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/DeprecatedAlias.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/DeprecatedAlias.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/Documentation.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/Documentation.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/Documentation.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/Documentation.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/InputType.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/InputType.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/InputType.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/InputType.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/OutputType.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/OutputType.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/OutputType.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/OutputType.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/annotations/TypeIsPiped.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/TypeIsPiped.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/annotations/TypeIsPiped.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/annotations/TypeIsPiped.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/ArgType.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/ArgType.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/ArgType.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/ArgType.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/CompareBy.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/CompareBy.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/CompareBy.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/CompareBy.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/FunctionContext.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/FunctionContext.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/FunctionContext.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/FunctionContext.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/FunctionHelpers.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/FunctionHelpers.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/FunctionHelpers.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/FunctionHelpers.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/InlineFunctionContext.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/InlineFunctionContext.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/InlineFunctionContext.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/InlineFunctionContext.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/ObjectFunctionContext.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/ObjectFunctionContext.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/ObjectFunctionContext.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/ObjectFunctionContext.java
diff --git a/src/main/java/co/nlighten/jsontransform/functions/common/TransformerFunction.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/TransformerFunction.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/functions/common/TransformerFunction.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/functions/common/TransformerFunction.java
diff --git a/src/main/java/co/nlighten/jsontransform/manipulation/JsonPatch.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/manipulation/JsonPatch.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/manipulation/JsonPatch.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/manipulation/JsonPatch.java
diff --git a/src/main/java/co/nlighten/jsontransform/manipulation/JsonPointer.java b/java/json-transform/src/main/java/co/nlighten/jsontransform/manipulation/JsonPointer.java
similarity index 100%
rename from src/main/java/co/nlighten/jsontransform/manipulation/JsonPointer.java
rename to java/json-transform/src/main/java/co/nlighten/jsontransform/manipulation/JsonPointer.java
diff --git a/src/test/java/co/nlighten/jsontransform/BaseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/BaseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/BaseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/BaseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/JsonTransformerTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/JsonTransformerTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/JsonTransformerTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/JsonTransformerTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/adapters/JsonAdapterTests.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/adapters/JsonAdapterTests.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/adapters/JsonAdapterTests.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/adapters/JsonAdapterTests.java
diff --git a/src/test/java/co/nlighten/jsontransform/formats/csv/CsvFormatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/formats/csv/CsvFormatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/formats/csv/CsvFormatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/formats/csv/CsvFormatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/formats/formurlencoded/FormUrlEncodedFormatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/formats/xml/XmlFormatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/formats/xml/XmlFormatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/formats/xml/XmlFormatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/formats/xml/XmlFormatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/formats/yaml/YamlFormatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/formats/yaml/YamlFormatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/formats/yaml/YamlFormatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/formats/yaml/YamlFormatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAndTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAndTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAndTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAndTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAtTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAtTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAtTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAtTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAvgTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAvgTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAvgTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionAvgTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64Test.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64Test.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64Test.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBase64Test.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBooleanTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBooleanTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBooleanTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionBooleanTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesceTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesceTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesceTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCoalesceTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionConcatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionConcatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionConcatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionConcatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionContainsTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionContainsTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionContainsTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionContainsTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionCsvTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDateTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDateTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDateTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDateTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimalTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimalTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimalTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDecimalTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDigestTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDigestTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDigestTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDigestTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinctTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinctTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinctTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionDistinctTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEntriesTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEntriesTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEntriesTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEntriesTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEvalTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEvalTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEvalTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionEvalTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFilterTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFilterTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFilterTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFilterTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFindTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFindTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFindTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFindTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlattenTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlattenTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlattenTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFlattenTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionFormTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionGroupTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionGroupTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionGroupTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionGroupTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIfTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIfTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIfTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIfTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNullTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNullTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNullTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsNullTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionIsTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJoinTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJoinTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJoinTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJoinTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatchTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatchTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatchTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPatchTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPathTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPathTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPathTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPathTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointerTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointerTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointerTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJsonPointerTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionJwtParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLengthTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLengthTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLengthTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLengthTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLongTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLongTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLongTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLongTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLookupTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLookupTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLookupTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLookupTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLowerTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLowerTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLowerTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionLowerTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMapTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMapTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMapTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMapTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAllTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAllTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAllTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchAllTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMatchTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMathTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMathTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMathTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMathTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMaxTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMaxTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMaxTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMaxTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMinTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMinTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMinTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionMinTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalizeTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalizeTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalizeTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNormalizeTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNotTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNotTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNotTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNotTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormatTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormatTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormatTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberFormatTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionNumberParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionObjectTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionObjectTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionObjectTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionObjectTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionOrTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionOrTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionOrTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionOrTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPadTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPadTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPadTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPadTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPartitionTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPartitionTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPartitionTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionPartitionTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRangeTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRangeTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRangeTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRangeTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRawTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRawTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRawTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionRawTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReduceTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReduceTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReduceTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReduceTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReplaceTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReplaceTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReplaceTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReplaceTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReverseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReverseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReverseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionReverseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSliceTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSliceTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSliceTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSliceTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSortTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSortTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSortTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSortTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSplitTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSplitTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSplitTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSplitTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionStringTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionStringTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionStringTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionStringTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstringTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstringTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstringTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSubstringTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSumTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSumTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSumTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSumTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitchTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitchTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitchTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionSwitchTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTestTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTestTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTestTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTestTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTransformTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTransformTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTransformTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTransformTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTrimTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTrimTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTrimTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionTrimTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflattenTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflattenTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflattenTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUnflattenTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUpperTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUpperTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUpperTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUpperTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUriParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecodeTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecodeTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecodeTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlDecodeTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncodeTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncodeTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncodeTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUrlEncodeTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUuidTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUuidTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUuidTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionUuidTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionValueTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionValueTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionValueTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionValueTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionWrapTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionWrapTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionWrapTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionWrapTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXmlTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXorTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXorTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXorTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionXorTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParseTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParseTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParseTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlParseTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/functions/TransformerFunctionYamlTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/gson/GsonTransformerFunctionsTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/gson/GsonTransformerFunctionsTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/gson/GsonTransformerFunctionsTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/gson/GsonTransformerFunctionsTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/manipulation/JsonPatchTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/manipulation/JsonPatchTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/manipulation/JsonPatchTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/manipulation/JsonPatchTest.java
diff --git a/src/test/java/co/nlighten/jsontransform/manipulation/JsonPointerTest.java b/java/json-transform/src/test/java/co/nlighten/jsontransform/manipulation/JsonPointerTest.java
similarity index 100%
rename from src/test/java/co/nlighten/jsontransform/manipulation/JsonPointerTest.java
rename to java/json-transform/src/test/java/co/nlighten/jsontransform/manipulation/JsonPointerTest.java
diff --git a/src/test/resources/JsonPatchTests.json b/java/json-transform/src/test/resources/JsonPatchTests.json
similarity index 100%
rename from src/test/resources/JsonPatchTests.json
rename to java/json-transform/src/test/resources/JsonPatchTests.json
diff --git a/packages/json-transform-core/.editorconfig b/javascript/json-transform-core/.editorconfig
similarity index 100%
rename from packages/json-transform-core/.editorconfig
rename to javascript/json-transform-core/.editorconfig
diff --git a/packages/json-transform-core/.gitignore b/javascript/json-transform-core/.gitignore
similarity index 100%
rename from packages/json-transform-core/.gitignore
rename to javascript/json-transform-core/.gitignore
diff --git a/packages/json-transform-core/.prettierrc.json b/javascript/json-transform-core/.prettierrc.json
similarity index 100%
rename from packages/json-transform-core/.prettierrc.json
rename to javascript/json-transform-core/.prettierrc.json
diff --git a/packages/json-transform-core/LICENSE b/javascript/json-transform-core/LICENSE
similarity index 100%
rename from packages/json-transform-core/LICENSE
rename to javascript/json-transform-core/LICENSE
diff --git a/packages/json-transform-core/README.md b/javascript/json-transform-core/README.md
similarity index 98%
rename from packages/json-transform-core/README.md
rename to javascript/json-transform-core/README.md
index 00ac3a5..3550481 100644
--- a/packages/json-transform-core/README.md
+++ b/javascript/json-transform-core/README.md
@@ -1,4 +1,4 @@
-# json-transform-core
+# @nlighten/json-transform-core
 
 
 
diff --git a/packages/json-transform-core/package-lock.json b/javascript/json-transform-core/package-lock.json
similarity index 100%
rename from packages/json-transform-core/package-lock.json
rename to javascript/json-transform-core/package-lock.json
diff --git a/packages/json-transform-core/package.json b/javascript/json-transform-core/package.json
similarity index 100%
rename from packages/json-transform-core/package.json
rename to javascript/json-transform-core/package.json
diff --git a/packages/json-transform-core/src/ParseContext.ts b/javascript/json-transform-core/src/ParseContext.ts
similarity index 100%
rename from packages/json-transform-core/src/ParseContext.ts
rename to javascript/json-transform-core/src/ParseContext.ts
diff --git a/packages/json-transform-core/src/__tests__/functions.test.ts b/javascript/json-transform-core/src/__tests__/functions.test.ts
similarity index 100%
rename from packages/json-transform-core/src/__tests__/functions.test.ts
rename to javascript/json-transform-core/src/__tests__/functions.test.ts
diff --git a/packages/json-transform-core/src/__tests__/jsonpathJoin.test.ts b/javascript/json-transform-core/src/__tests__/jsonpathJoin.test.ts
similarity index 100%
rename from packages/json-transform-core/src/__tests__/jsonpathJoin.test.ts
rename to javascript/json-transform-core/src/__tests__/jsonpathJoin.test.ts
diff --git a/packages/json-transform-core/src/functions/context.ts b/javascript/json-transform-core/src/functions/context.ts
similarity index 100%
rename from packages/json-transform-core/src/functions/context.ts
rename to javascript/json-transform-core/src/functions/context.ts
diff --git a/packages/json-transform-core/src/functions/embeddedFunctions.ts b/javascript/json-transform-core/src/functions/embeddedFunctions.ts
similarity index 100%
rename from packages/json-transform-core/src/functions/embeddedFunctions.ts
rename to javascript/json-transform-core/src/functions/embeddedFunctions.ts
diff --git a/packages/json-transform-core/src/functions/functions.ts b/javascript/json-transform-core/src/functions/functions.ts
similarity index 100%
rename from packages/json-transform-core/src/functions/functions.ts
rename to javascript/json-transform-core/src/functions/functions.ts
diff --git a/packages/json-transform-core/src/functions/parseSchemas.ts b/javascript/json-transform-core/src/functions/parseSchemas.ts
similarity index 100%
rename from packages/json-transform-core/src/functions/parseSchemas.ts
rename to javascript/json-transform-core/src/functions/parseSchemas.ts
diff --git a/packages/json-transform-core/src/functions/types.ts b/javascript/json-transform-core/src/functions/types.ts
similarity index 100%
rename from packages/json-transform-core/src/functions/types.ts
rename to javascript/json-transform-core/src/functions/types.ts
diff --git a/packages/json-transform-core/src/index.ts b/javascript/json-transform-core/src/index.ts
similarity index 100%
rename from packages/json-transform-core/src/index.ts
rename to javascript/json-transform-core/src/index.ts
diff --git a/packages/json-transform-core/src/jsonpath/jsonpathFunctions.ts b/javascript/json-transform-core/src/jsonpath/jsonpathFunctions.ts
similarity index 100%
rename from packages/json-transform-core/src/jsonpath/jsonpathFunctions.ts
rename to javascript/json-transform-core/src/jsonpath/jsonpathFunctions.ts
diff --git a/packages/json-transform-core/src/jsonpath/jsonpathJoin.ts b/javascript/json-transform-core/src/jsonpath/jsonpathJoin.ts
similarity index 100%
rename from packages/json-transform-core/src/jsonpath/jsonpathJoin.ts
rename to javascript/json-transform-core/src/jsonpath/jsonpathJoin.ts
diff --git a/packages/json-transform-core/src/parse.ts b/javascript/json-transform-core/src/parse.ts
similarity index 100%
rename from packages/json-transform-core/src/parse.ts
rename to javascript/json-transform-core/src/parse.ts
diff --git a/packages/json-transform-core/src/transformUtils.ts b/javascript/json-transform-core/src/transformUtils.ts
similarity index 100%
rename from packages/json-transform-core/src/transformUtils.ts
rename to javascript/json-transform-core/src/transformUtils.ts
diff --git a/packages/json-transform-core/tsconfig.json b/javascript/json-transform-core/tsconfig.json
similarity index 100%
rename from packages/json-transform-core/tsconfig.json
rename to javascript/json-transform-core/tsconfig.json
diff --git a/settings.gradle b/settings.gradle
index a058eb8..94b9c3b 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1,3 @@
-rootProject.name = 'co.nlighten.json-transform'
\ No newline at end of file
+rootProject.name = 'co.nlighten.json-transform'
+
+include ':java:json-transform'
\ No newline at end of file