diff --git a/README.md b/README.md
index caa679cb74c1ae56e09d78f25e14b8c6afb3dc1e..6d862a7004ae61356f29e35598d998f1e3d0b298 100644
--- a/README.md
+++ b/README.md
@@ -5,10 +5,11 @@ The Policies Repository contains REGO policies used for evaluation.
 ### Add Policy
 
 You should follow the following naming syntax:
-- Policy name must follow the following syntax: `{name}_{version}.rego`  
-    > Example: loginpolicy_1.2.rego
-- Policies are grouped in directories representing their organisation: `{group}/{policyName}_{version}.rego`
-    > Example: gaiax/loginpolicy_1.0.rego
+- Policy must be named exactly `policy.rego`
+- Policy is placed in the following directory structure: `{group}/{policyName}/{version}/policy.rego`
+    > Example: gaiax/loginpolicy/1.0/policy.rego
 - The policy package must follow the following syntax: `{group}.{policyName}`
     > Example: package gaiax.loginpolicy
+- Data file could be added for each policy. It must be named `data.json` and placed in the same directory:
+    > Example: `{group}/{policyName}/{version}/data.json`
 
diff --git a/example/cacheGet/1.0/data.json b/example/cacheGet/1.0/data.json
new file mode 100644
index 0000000000000000000000000000000000000000..03f9954e6d3eb839a70767bb0fcc6e5dc1523eee
--- /dev/null
+++ b/example/cacheGet/1.0/data.json
@@ -0,0 +1,4 @@
+{
+  "namespace": "namespace",
+  "scope": "scope"
+}
diff --git a/example/cacheGet/1.0/policy.rego b/example/cacheGet/1.0/policy.rego
new file mode 100644
index 0000000000000000000000000000000000000000..136dda6119226f90f0cad66894aedc63a4b55008
--- /dev/null
+++ b/example/cacheGet/1.0/policy.rego
@@ -0,0 +1,5 @@
+package example.cacheGet
+
+default allow = false
+
+result := cache.get("mykey", "mynamespace", "myscope")
diff --git a/example/cacheSet/0.8/data.json b/example/cacheSet/0.8/data.json
new file mode 100644
index 0000000000000000000000000000000000000000..043b03e3ac05b42f15b5de033f29865ab6f19762
--- /dev/null
+++ b/example/cacheSet/0.8/data.json
@@ -0,0 +1,4 @@
+{
+  "key": "value",
+  "scope": "scope"
+}
diff --git a/example/cacheSet/0.8/policy.rego b/example/cacheSet/0.8/policy.rego
new file mode 100644
index 0000000000000000000000000000000000000000..44e620d39eb9b6f73283fc3925c0998620934688
--- /dev/null
+++ b/example/cacheSet/0.8/policy.rego
@@ -0,0 +1,8 @@
+package example.cacheSet
+
+default success = false
+
+success = true {
+    msg := cache.set("mykey", "mynamespace", "myscope", input)
+    msg == "success"
+}
diff --git a/example/examplePolicy/1.0/policy.rego b/example/examplePolicy/1.0/policy.rego
new file mode 100644
index 0000000000000000000000000000000000000000..236fa08646c24485430a689a9326940f6c84fc42
--- /dev/null
+++ b/example/examplePolicy/1.0/policy.rego
@@ -0,0 +1,7 @@
+package example.examplePolicy
+
+default allow = false
+
+allow{
+    input.message == "example"
+}