diff --git a/arkindex/documents/fixtures/data.json b/arkindex/documents/fixtures/data.json
index 9e60c75219cb36f6d29b2a2e1e2fd6e271a81c1b..ac55bc4e724030fc4477d2977ad4638ca32cc946 100644
--- a/arkindex/documents/fixtures/data.json
+++ b/arkindex/documents/fixtures/data.json
@@ -1,19 +1,19 @@
 [
 {
     "model": "process.process",
-    "pk": "26050593-712f-4f7a-b15a-4d2132241514",
+    "pk": "432278f2-a60e-4865-b474-de83833d0497",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "name": "Process fixture",
-        "creator": 2,
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "mode": "workers",
+        "name": null,
+        "creator": 1,
+        "corpus": null,
+        "mode": "local",
         "revision": null,
         "activity_state": "disabled",
         "started": null,
         "finished": null,
-        "farm": "94055f35-9ac9-44a0-ac5d-386e132bea2c",
+        "farm": null,
         "element": null,
         "folder_type": null,
         "element_type": null,
@@ -32,19 +32,19 @@
 },
 {
     "model": "process.process",
-    "pk": "3421ba72-b14c-4df0-a504-1e7e90abe4b4",
+    "pk": "c914b228-86a6-434b-81d8-f78751f02cf1",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "name": null,
-        "creator": 1,
-        "corpus": null,
-        "mode": "repository",
+        "name": "Process fixture",
+        "creator": 2,
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "mode": "workers",
         "revision": null,
         "activity_state": "disabled",
         "started": null,
         "finished": null,
-        "farm": "94055f35-9ac9-44a0-ac5d-386e132bea2c",
+        "farm": "ff732a3f-c9ac-43fe-8b22-c03cf82d2a4e",
         "element": null,
         "folder_type": null,
         "element_type": null,
@@ -63,7 +63,7 @@
 },
 {
     "model": "process.process",
-    "pk": "4a3c1857-7fe7-47ba-9e47-7ce96eefc96f",
+    "pk": "c992f023-baea-4c6d-92ba-e5bac0c2c0b4",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
@@ -94,19 +94,19 @@
 },
 {
     "model": "process.process",
-    "pk": "be97d04e-0af4-4043-9874-d20f28b30431",
+    "pk": "d6b43bc9-d87c-4c80-9211-f0c807506ad7",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "name": null,
         "creator": 1,
         "corpus": null,
-        "mode": "local",
+        "mode": "repository",
         "revision": null,
         "activity_state": "disabled",
         "started": null,
         "finished": null,
-        "farm": null,
+        "farm": "ff732a3f-c9ac-43fe-8b22-c03cf82d2a4e",
         "element": null,
         "folder_type": null,
         "element_type": null,
@@ -125,25 +125,25 @@
 },
 {
     "model": "process.repository",
-    "pk": "0e1654c4-20e5-4d4a-99ab-7142040b6e88",
+    "pk": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
     "fields": {
-        "url": "http://gitlab/repo"
+        "url": "http://my_repo.fake/workers/worker"
     }
 },
 {
     "model": "process.repository",
-    "pk": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+    "pk": "deea5468-0e94-4215-bef3-efb8d18f0065",
     "fields": {
-        "url": "http://my_repo.fake/workers/worker"
+        "url": "http://gitlab/repo"
     }
 },
 {
     "model": "process.revision",
-    "pk": "539e2eb4-6180-4d45-bc2f-ddd4bbe08ab1",
+    "pk": "174a7683-f6bb-402b-8ff5-3b22785f35a2",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "repo": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+        "repo": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
         "hash": "1337",
         "message": "My w0rk3r",
         "author": "Test user"
@@ -151,11 +151,11 @@
 },
 {
     "model": "process.revision",
-    "pk": "d2d52ec9-2d56-4df1-9118-ed884f26cb83",
+    "pk": "6b139a49-ae71-4b64-8e69-e67a389e9cfa",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "repo": "0e1654c4-20e5-4d4a-99ab-7142040b6e88",
+        "repo": "deea5468-0e94-4215-bef3-efb8d18f0065",
         "hash": "42",
         "message": "Salve",
         "author": "Some user"
@@ -163,85 +163,85 @@
 },
 {
     "model": "process.worker",
-    "pk": "5a6c0c92-b9b1-4a69-a8d0-b75841cd0193",
+    "pk": "049370f4-2328-40de-84a0-48e5bb45fcda",
     "fields": {
-        "name": "File import",
-        "slug": "file_import",
-        "type": "2c4d9006-9c1f-4a62-944d-a8862aa022b1",
+        "name": "Generic worker with a Model",
+        "slug": "generic",
+        "type": "3c93cbb2-97a1-4b0c-8ddf-98ee99760805",
         "description": "",
-        "repository": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+        "repository": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
         "public": false,
         "archived": null
     }
 },
 {
     "model": "process.worker",
-    "pk": "7458bec4-665b-4e2d-862f-7d87bc833481",
+    "pk": "04ebb7e9-b8f8-4358-82cb-52bca4f2564b",
     "fields": {
-        "name": "Custom worker",
-        "slug": "custom",
-        "type": "9785b33d-d517-4a91-a4d9-b192e6b042b6",
+        "name": "Document layout analyser",
+        "slug": "dla",
+        "type": "c2db222a-f974-4c20-979e-9e95e1a80ee7",
         "description": "",
-        "repository": null,
+        "repository": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
         "public": false,
         "archived": null
     }
 },
 {
     "model": "process.worker",
-    "pk": "89964ea9-97a3-4edf-8568-545ea810342e",
+    "pk": "232e3930-353b-4840-b570-7057166ab8a7",
     "fields": {
-        "name": "Document layout analyser",
-        "slug": "dla",
-        "type": "3b3adc81-73f1-4e92-8093-d1dd9431c53f",
+        "name": "Recognizer",
+        "slug": "reco",
+        "type": "3c93cbb2-97a1-4b0c-8ddf-98ee99760805",
         "description": "",
-        "repository": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+        "repository": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
         "public": false,
         "archived": null
     }
 },
 {
     "model": "process.worker",
-    "pk": "c7439e52-9b09-489b-8dc5-13994801e8ac",
+    "pk": "58c7ea56-3de0-4d49-bdc1-13d2d770202d",
     "fields": {
         "name": "Worker requiring a GPU",
         "slug": "worker-gpu",
-        "type": "4696efe7-e3dd-4a8c-8346-c99d479c1756",
+        "type": "ea560a33-b00e-4fcb-a7fe-5d92827da405",
         "description": "",
-        "repository": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+        "repository": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
         "public": false,
         "archived": null
     }
 },
 {
     "model": "process.worker",
-    "pk": "c88cf97b-25a1-4074-a88c-8d2b7a82db8c",
+    "pk": "8cf9ad2e-20da-42b1-8486-1b9b76d094f6",
     "fields": {
-        "name": "Recognizer",
-        "slug": "reco",
-        "type": "999707eb-4c53-469d-8fb6-ec6a80010248",
+        "name": "Custom worker",
+        "slug": "custom",
+        "type": "8f8a02cd-e97f-479c-96d1-8d019f31e25b",
         "description": "",
-        "repository": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+        "repository": null,
         "public": false,
         "archived": null
     }
 },
 {
     "model": "process.worker",
-    "pk": "f62b2ea5-7bff-4c38-9bd1-7237543cad36",
+    "pk": "de19f976-30a1-49bb-9dfb-a17300db9ccb",
     "fields": {
-        "name": "Generic worker with a Model",
-        "slug": "generic",
-        "type": "999707eb-4c53-469d-8fb6-ec6a80010248",
+        "name": "File import",
+        "slug": "file_import",
+        "type": "1adb460c-149c-4b77-9d56-9a306ab49993",
         "description": "",
-        "repository": "a091592f-0ea9-4147-be4e-4f580751ac9f",
+        "repository": "565a09bb-0f64-49b5-acbf-8e5fde104cbb",
         "public": false,
         "archived": null
     }
 },
 {
     "model": "process.workertype",
-    "pk": "2c4d9006-9c1f-4a62-944d-a8862aa022b1",
+    "pk": "1adb460c-149c-4b77-9d56-9a306ab49993",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
@@ -251,50 +251,50 @@
 },
 {
     "model": "process.workertype",
-    "pk": "3b3adc81-73f1-4e92-8093-d1dd9431c53f",
+    "pk": "3c93cbb2-97a1-4b0c-8ddf-98ee99760805",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "slug": "dla",
-        "display_name": "Document Layout Analysis"
+        "slug": "recognizer",
+        "display_name": "Recognizer"
     }
 },
 {
     "model": "process.workertype",
-    "pk": "4696efe7-e3dd-4a8c-8346-c99d479c1756",
+    "pk": "8f8a02cd-e97f-479c-96d1-8d019f31e25b",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "slug": "worker",
-        "display_name": "Worker requiring a GPU"
+        "slug": "custom",
+        "display_name": "Custom"
     }
 },
 {
     "model": "process.workertype",
-    "pk": "9785b33d-d517-4a91-a4d9-b192e6b042b6",
+    "pk": "c2db222a-f974-4c20-979e-9e95e1a80ee7",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "slug": "custom",
-        "display_name": "Custom"
+        "slug": "dla",
+        "display_name": "Document Layout Analysis"
     }
 },
 {
     "model": "process.workertype",
-    "pk": "999707eb-4c53-469d-8fb6-ec6a80010248",
+    "pk": "ea560a33-b00e-4fcb-a7fe-5d92827da405",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "slug": "recognizer",
-        "display_name": "Recognizer"
+        "slug": "worker",
+        "display_name": "Worker requiring a GPU"
     }
 },
 {
     "model": "process.workerversion",
-    "pk": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+    "pk": "0b84a002-efce-4fd6-b4a6-999376df80fa",
     "fields": {
-        "worker": "c88cf97b-25a1-4074-a88c-8d2b7a82db8c",
-        "revision": "539e2eb4-6180-4d45-bc2f-ddd4bbe08ab1",
+        "worker": "04ebb7e9-b8f8-4358-82cb-52bca4f2564b",
+        "revision": "174a7683-f6bb-402b-8ff5-3b22785f35a2",
         "version": null,
         "configuration": {
             "test": 42
@@ -302,7 +302,7 @@
         "state": "available",
         "gpu_usage": "disabled",
         "model_usage": "disabled",
-        "docker_image": "492ea45f-2c2d-4bf3-a461-016204fcfb03",
+        "docker_image": "481b42e2-645c-47fe-937f-5b4431f10563",
         "docker_image_iid": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z"
@@ -310,18 +310,18 @@
 },
 {
     "model": "process.workerversion",
-    "pk": "23473bff-4362-466e-ba5f-b6843df1fdf3",
+    "pk": "110fd472-59f4-43fa-a954-0a8dd776c86d",
     "fields": {
-        "worker": "7458bec4-665b-4e2d-862f-7d87bc833481",
-        "revision": null,
-        "version": 1,
+        "worker": "232e3930-353b-4840-b570-7057166ab8a7",
+        "revision": "174a7683-f6bb-402b-8ff5-3b22785f35a2",
+        "version": null,
         "configuration": {
-            "custom": "value"
+            "test": 42
         },
-        "state": "created",
+        "state": "available",
         "gpu_usage": "disabled",
         "model_usage": "disabled",
-        "docker_image": null,
+        "docker_image": "481b42e2-645c-47fe-937f-5b4431f10563",
         "docker_image_iid": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z"
@@ -329,18 +329,18 @@
 },
 {
     "model": "process.workerversion",
-    "pk": "2aa45507-c5f2-4e1f-bc38-edf50dbf5aae",
+    "pk": "2800edff-4e74-4fd0-8f31-a01cddfa4c09",
     "fields": {
-        "worker": "f62b2ea5-7bff-4c38-9bd1-7237543cad36",
-        "revision": "539e2eb4-6180-4d45-bc2f-ddd4bbe08ab1",
+        "worker": "58c7ea56-3de0-4d49-bdc1-13d2d770202d",
+        "revision": "174a7683-f6bb-402b-8ff5-3b22785f35a2",
         "version": null,
         "configuration": {
             "test": 42
         },
         "state": "available",
-        "gpu_usage": "disabled",
-        "model_usage": "required",
-        "docker_image": "492ea45f-2c2d-4bf3-a461-016204fcfb03",
+        "gpu_usage": "required",
+        "model_usage": "disabled",
+        "docker_image": "481b42e2-645c-47fe-937f-5b4431f10563",
         "docker_image_iid": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z"
@@ -348,18 +348,18 @@
 },
 {
     "model": "process.workerversion",
-    "pk": "66d545f5-4f60-436a-9cc3-517504cce152",
+    "pk": "5cc66882-dfda-4800-9422-8e0fb28e0287",
     "fields": {
-        "worker": "c7439e52-9b09-489b-8dc5-13994801e8ac",
-        "revision": "539e2eb4-6180-4d45-bc2f-ddd4bbe08ab1",
+        "worker": "049370f4-2328-40de-84a0-48e5bb45fcda",
+        "revision": "174a7683-f6bb-402b-8ff5-3b22785f35a2",
         "version": null,
         "configuration": {
             "test": 42
         },
         "state": "available",
-        "gpu_usage": "required",
-        "model_usage": "disabled",
-        "docker_image": "492ea45f-2c2d-4bf3-a461-016204fcfb03",
+        "gpu_usage": "disabled",
+        "model_usage": "required",
+        "docker_image": "481b42e2-645c-47fe-937f-5b4431f10563",
         "docker_image_iid": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z"
@@ -367,18 +367,18 @@
 },
 {
     "model": "process.workerversion",
-    "pk": "7e54d670-f1f2-4b96-a38a-ac6a5416ea72",
+    "pk": "6df3f42d-36fd-4483-8261-d2550938f66e",
     "fields": {
-        "worker": "89964ea9-97a3-4edf-8568-545ea810342e",
-        "revision": "539e2eb4-6180-4d45-bc2f-ddd4bbe08ab1",
-        "version": null,
+        "worker": "8cf9ad2e-20da-42b1-8486-1b9b76d094f6",
+        "revision": null,
+        "version": 1,
         "configuration": {
-            "test": 42
+            "custom": "value"
         },
-        "state": "available",
+        "state": "created",
         "gpu_usage": "disabled",
         "model_usage": "disabled",
-        "docker_image": "492ea45f-2c2d-4bf3-a461-016204fcfb03",
+        "docker_image": null,
         "docker_image_iid": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z"
@@ -386,16 +386,16 @@
 },
 {
     "model": "process.workerversion",
-    "pk": "88a1c9ce-3128-4219-a120-9ea9574316a3",
+    "pk": "728c1c89-5a6e-4dc9-85fb-4702b760c1f7",
     "fields": {
-        "worker": "5a6c0c92-b9b1-4a69-a8d0-b75841cd0193",
-        "revision": "539e2eb4-6180-4d45-bc2f-ddd4bbe08ab1",
+        "worker": "de19f976-30a1-49bb-9dfb-a17300db9ccb",
+        "revision": "174a7683-f6bb-402b-8ff5-3b22785f35a2",
         "version": null,
         "configuration": {},
         "state": "available",
         "gpu_usage": "disabled",
         "model_usage": "disabled",
-        "docker_image": "492ea45f-2c2d-4bf3-a461-016204fcfb03",
+        "docker_image": "481b42e2-645c-47fe-937f-5b4431f10563",
         "docker_image_iid": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z"
@@ -403,14 +403,14 @@
 },
 {
     "model": "process.workerrun",
-    "pk": "796a41f5-9797-443d-be13-ea73372e4950",
+    "pk": "baf81f6a-818a-484e-8d1a-a240b20ab9e3",
     "fields": {
-        "process": "4a3c1857-7fe7-47ba-9e47-7ce96eefc96f",
-        "version": "23473bff-4362-466e-ba5f-b6843df1fdf3",
+        "process": "c914b228-86a6-434b-81d8-f78751f02cf1",
+        "version": "0b84a002-efce-4fd6-b4a6-999376df80fa",
         "model_version": null,
         "parents": "[]",
         "configuration": null,
-        "summary": "Worker Custom worker @ version 1",
+        "summary": "Worker Document layout analyser @ 0b84a0",
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "has_results": false
@@ -418,14 +418,14 @@
 },
 {
     "model": "process.workerrun",
-    "pk": "9b99e704-47e6-478c-988f-323c636bb91a",
+    "pk": "20c4817e-b999-41e0-a061-85deb7df73df",
     "fields": {
-        "process": "26050593-712f-4f7a-b15a-4d2132241514",
-        "version": "7e54d670-f1f2-4b96-a38a-ac6a5416ea72",
+        "process": "c914b228-86a6-434b-81d8-f78751f02cf1",
+        "version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "model_version": null,
-        "parents": "[]",
+        "parents": "[\"baf81f6a-818a-484e-8d1a-a240b20ab9e3\"]",
         "configuration": null,
-        "summary": "Worker Document layout analyser @ 7e54d6",
+        "summary": "Worker Recognizer @ 110fd4",
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "has_results": false
@@ -433,14 +433,14 @@
 },
 {
     "model": "process.workerrun",
-    "pk": "810d22b3-90bf-44bb-a931-9c20d6b600ca",
+    "pk": "81e444be-04be-47b6-b625-a3f2e61a4456",
     "fields": {
-        "process": "26050593-712f-4f7a-b15a-4d2132241514",
-        "version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "process": "432278f2-a60e-4865-b474-de83833d0497",
+        "version": "6df3f42d-36fd-4483-8261-d2550938f66e",
         "model_version": null,
-        "parents": "[\"9b99e704-47e6-478c-988f-323c636bb91a\"]",
+        "parents": "[]",
         "configuration": null,
-        "summary": "Worker Recognizer @ 06e217",
+        "summary": "Worker Custom worker @ version 1",
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "has_results": false
@@ -448,10 +448,10 @@
 },
 {
     "model": "process.workerrun",
-    "pk": "9c5e8955-084a-4dd4-a816-c74d2ac0ab49",
+    "pk": "ed5aaec9-a928-42ab-8166-81fbe92e7959",
     "fields": {
-        "process": "be97d04e-0af4-4043-9874-d20f28b30431",
-        "version": "23473bff-4362-466e-ba5f-b6843df1fdf3",
+        "process": "c992f023-baea-4c6d-92ba-e5bac0c2c0b4",
+        "version": "6df3f42d-36fd-4483-8261-d2550938f66e",
         "model_version": null,
         "parents": "[]",
         "configuration": null,
@@ -463,7 +463,7 @@
 },
 {
     "model": "documents.corpus",
-    "pk": "1204ee59-2b68-4dfb-a083-3df4996c2337",
+    "pk": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
@@ -476,11 +476,11 @@
 },
 {
     "model": "documents.elementtype",
-    "pk": "097f73b9-4ea7-4063-98b0-e17eb698e77a",
+    "pk": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "slug": "text_line",
-        "display_name": "Line",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "slug": "word",
+        "display_name": "Word",
         "folder": false,
         "indexable": false,
         "color": "28b62c"
@@ -488,9 +488,9 @@
 },
 {
     "model": "documents.elementtype",
-    "pk": "60e8c1f1-c04d-49b6-bc6e-70e38e437f36",
+    "pk": "18027add-0729-400d-a225-60927f1dd2d9",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
         "slug": "volume",
         "display_name": "Volume",
         "folder": true,
@@ -500,11 +500,11 @@
 },
 {
     "model": "documents.elementtype",
-    "pk": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
+    "pk": "1ca6552d-f876-4d2a-a167-38736ebed338",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "slug": "word",
-        "display_name": "Word",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "slug": "text_line",
+        "display_name": "Line",
         "folder": false,
         "indexable": false,
         "color": "28b62c"
@@ -512,11 +512,11 @@
 },
 {
     "model": "documents.elementtype",
-    "pk": "c6267733-b1ce-4ea3-ac20-3a18c3d66f24",
+    "pk": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "slug": "act",
-        "display_name": "Act",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "slug": "surface",
+        "display_name": "Surface",
         "folder": false,
         "indexable": false,
         "color": "28b62c"
@@ -524,11 +524,11 @@
 },
 {
     "model": "documents.elementtype",
-    "pk": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
+    "pk": "571f6a9b-e38b-4bd6-b22f-85bd66cc1a5e",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "slug": "page",
-        "display_name": "Page",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "slug": "act",
+        "display_name": "Act",
         "folder": false,
         "indexable": false,
         "color": "28b62c"
@@ -536,11 +536,11 @@
 },
 {
     "model": "documents.elementtype",
-    "pk": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
+    "pk": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "slug": "surface",
-        "display_name": "Surface",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "slug": "page",
+        "display_name": "Page",
         "folder": false,
         "indexable": false,
         "color": "28b62c"
@@ -548,279 +548,279 @@
 },
 {
     "model": "documents.elementpath",
-    "pk": "13930713-e133-4d00-90fe-7169541b6b8c",
+    "pk": "00bd8cd6-1b43-4703-868a-f6ad29891fee",
     "fields": {
-        "element": "1f20a3a4-33be-43a3-9427-393799aba6d7",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"737db4ff-8119-4e12-be99-968d7fa3be22\"]",
+        "element": "e590e52a-11ec-4e27-b3b1-c67cc589ced8",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"bdea4cf0-63bf-4918-b67d-b879d09f3c95\"]",
         "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "250c8b60-16ac-49c9-ba2a-ee157d387077",
+    "pk": "057773ab-6c41-4163-aca8-73e742087b50",
     "fields": {
-        "element": "60a6c062-1bbb-4e5f-82e7-37cb77d92419",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"67482d70-765b-4092-b462-2d955fd8a7df\"]",
-        "ordering": 2
-    }
-},
-{
-    "model": "documents.elementpath",
-    "pk": "2d34a587-68b2-4087-a05e-d92c5bc0b086",
-    "fields": {
-        "element": "6452b6c6-3d58-48c2-9032-691095fe8317",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"67482d70-765b-4092-b462-2d955fd8a7df\"]",
+        "element": "81938246-57ff-49ad-bc79-d07de4275096",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"3dc4ff7a-9a40-431b-b692-a2b5af381ffd\"]",
         "ordering": 1
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "33cdaa32-f9fe-4d60-91af-6200f90915af",
+    "pk": "05a8caeb-f351-4f3b-91c1-d0aff1ab9d73",
     "fields": {
-        "element": "737db4ff-8119-4e12-be99-968d7fa3be22",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
+        "element": "2f7f15c7-c39b-4164-aea0-050c2a0e9d34",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"454b9f6d-8b0d-4313-baa3-82ccf8856d42\"]",
         "ordering": 2
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "344c8906-d207-48cc-9d5b-5c738758e510",
+    "pk": "07cd2fbb-2cfd-4b53-86fe-d37fcc6d3bdb",
     "fields": {
-        "element": "66843ee4-559b-4d2d-a9ce-4dd425022159",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"737db4ff-8119-4e12-be99-968d7fa3be22\"]",
-        "ordering": 1
+        "element": "7c1ba0f5-1c2a-45d8-8ef1-6217e06e079b",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"2a08be28-27f2-48f8-8d87-437893d389ca\"]",
+        "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "36612194-8586-43a3-9114-b3fa5d4c7832",
+    "pk": "0a010ead-3329-41fc-83a7-b7f2d6d847f2",
     "fields": {
-        "element": "8349d4ba-fd23-4da6-a99b-76ba2e359b6f",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
-        "ordering": 5
+        "element": "b46d402f-385c-42c8-bca3-4cf732c6b952",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"f3a388d1-9968-4486-9e3b-e5a2a11947b1\"]",
+        "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "37f898d5-0a9a-49df-b8f6-40761f18c734",
+    "pk": "1260e6b9-95e3-4667-abc6-d80ab1b6ecc5",
     "fields": {
-        "element": "a41e2061-65cf-4c6e-9ea3-48d00d74133d",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"a0373c38-907d-4127-9762-5aada56b7165\"]",
+        "element": "77ced3ba-7f04-48c7-b5fa-2b101d191c23",
+        "path": "[\"c348ff6e-786b-445a-a828-a693fb000fe8\"]",
         "ordering": 1
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "4450a6b1-88fb-4d11-9c7a-edd03872050d",
+    "pk": "221540c3-58b4-4839-b842-11dfbc608100",
     "fields": {
-        "element": "7f80cd7d-f24f-4691-a139-0ce744ea7577",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"492ea0b0-bcaf-4a46-a15a-29cd08e32d90\"]",
-        "ordering": 0
+        "element": "fa35b384-692f-4b42-91ba-60d384ef251f",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"1444e97e-4873-4731-9b75-79f931c9dc9e\"]",
+        "ordering": 1
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "48d847e6-26be-45e8-92a4-0a6517227172",
+    "pk": "25f13dc7-3bc1-40cf-8c9e-342ca2bc8747",
     "fields": {
-        "element": "8727b32e-6b08-44fd-84ff-54d505fb5a85",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"a0373c38-907d-4127-9762-5aada56b7165\"]",
-        "ordering": 0
+        "element": "454b9f6d-8b0d-4313-baa3-82ccf8856d42",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 1
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "5bb0b100-e35c-4433-884e-16b3c827dea1",
+    "pk": "27ca92e0-f081-4ce4-b23a-cf1a1d5b7f13",
     "fields": {
-        "element": "e2e0ab90-85c8-457e-920d-479bebb43bf9",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"67482d70-765b-4092-b462-2d955fd8a7df\"]",
-        "ordering": 3
+        "element": "549a9a87-0632-4846-962d-7799147e0225",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 4
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "60fccadc-2668-45f0-af63-8541f9d8000a",
+    "pk": "2ed0a5dc-1c04-49c5-b62a-4f07d804e982",
     "fields": {
-        "element": "900dcb10-2146-4571-8735-f508eb5f9986",
-        "path": "[]",
+        "element": "1f8e08ad-ee8e-4924-a0b3-740722dfae47",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"3dc4ff7a-9a40-431b-b692-a2b5af381ffd\"]",
         "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "6b954042-1718-4794-aad4-55c6e2e9e054",
+    "pk": "3ceef7ee-c057-459b-b267-3e5f1de2d754",
     "fields": {
-        "element": "7cd8a970-ca3a-479f-b49e-1292b216c1b9",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"492ea0b0-bcaf-4a46-a15a-29cd08e32d90\"]",
-        "ordering": 2
+        "element": "d3b1f490-1ac8-430e-b0d3-eb617d90b900",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"454b9f6d-8b0d-4313-baa3-82ccf8856d42\"]",
+        "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "6ff93429-322f-486a-bc0f-31f7047ce341",
+    "pk": "56e3e8b7-7d46-459f-a924-98201890e80b",
     "fields": {
-        "element": "c80311e3-4529-45d6-9575-31b362c99925",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"737db4ff-8119-4e12-be99-968d7fa3be22\"]",
-        "ordering": 2
+        "element": "ffffc01b-7577-4a93-9148-02fdc1f80435",
+        "path": "[\"c348ff6e-786b-445a-a828-a693fb000fe8\"]",
+        "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "8fd6c9e9-3133-4733-b58b-8a093e49288c",
+    "pk": "6b97040b-ebdb-49b8-9702-367f55ab4e49",
     "fields": {
-        "element": "f6b8eced-ee41-42d3-812a-a622f1879809",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"8144a0f8-f75b-43fa-ac27-d49d69bc483c\"]",
+        "element": "6d6b7b80-6783-42ef-88ec-15bdbe8ffb65",
+        "path": "[]",
         "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "98f8328f-77b3-490d-aa4c-97d6f2030e3f",
+    "pk": "758e2947-eb09-4ac3-9deb-2ff8d910f6b8",
     "fields": {
-        "element": "dc79378e-1804-45c8-b23f-a2eeb33734de",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"8349d4ba-fd23-4da6-a99b-76ba2e359b6f\"]",
-        "ordering": 0
+        "element": "f3a388d1-9968-4486-9e3b-e5a2a11947b1",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 3
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "9979cf91-e6da-46e4-976e-386cb9ebbc42",
+    "pk": "78069f17-72aa-49c5-a433-2286c4bef207",
     "fields": {
-        "element": "7ac6504c-4088-4e6e-9a48-567f1f7e54c8",
-        "path": "[\"900dcb10-2146-4571-8735-f508eb5f9986\"]",
-        "ordering": 1
+        "element": "bdea4cf0-63bf-4918-b67d-b879d09f3c95",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 6
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "99ac36ba-7c91-4beb-a10b-97d8edffa1d9",
+    "pk": "78817bcc-fb50-445a-8fdf-7f0812f2d4f0",
     "fields": {
-        "element": "12e84ea0-004a-43e7-9fcc-85021e2407a9",
-        "path": "[]",
-        "ordering": 0
+        "element": "a9c73703-3711-46ac-957f-25f9bb77af76",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"454b9f6d-8b0d-4313-baa3-82ccf8856d42\"]",
+        "ordering": 1
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "9feb4874-46bf-463a-9bc9-71b13af8bcc0",
+    "pk": "9a7a9ea5-1d70-4159-a1cd-76cd03cd1bd3",
     "fields": {
-        "element": "e38ab791-092f-48eb-bb09-ea95e5a01998",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"492ea0b0-bcaf-4a46-a15a-29cd08e32d90\"]",
+        "element": "416d13a8-4a15-4641-9b68-36862e80c176",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"549a9a87-0632-4846-962d-7799147e0225\"]",
         "ordering": 1
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "b447f917-b73c-42b5-9512-1a3af17b3eee",
+    "pk": "a15f789f-d2aa-43af-b66b-a437ad37c9a2",
     "fields": {
-        "element": "a0373c38-907d-4127-9762-5aada56b7165",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
-        "ordering": 4
+        "element": "39d46933-549e-40cc-93e4-3535db7ad8a0",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"3dc4ff7a-9a40-431b-b692-a2b5af381ffd\"]",
+        "ordering": 2
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "b869ccff-bb9b-4c85-9743-d8930f2d920a",
+    "pk": "ad4f56ef-cccc-4dc3-8922-5fa338e93fa2",
     "fields": {
-        "element": "f8d56f23-51f6-40dd-9482-939a1dd877b3",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
-        "ordering": 7
+        "element": "1145ba8e-4bd5-4f2f-8bb1-c307295d88a0",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"549a9a87-0632-4846-962d-7799147e0225\"]",
+        "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "b8a8076c-62d4-4f86-a2f0-21187d589279",
+    "pk": "b6418b10-676e-4928-9552-921f8de4805e",
     "fields": {
-        "element": "8144a0f8-f75b-43fa-ac27-d49d69bc483c",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
-        "ordering": 6
+        "element": "3dc4ff7a-9a40-431b-b692-a2b5af381ffd",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 2
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "be089329-1d86-42cb-85b6-3a2520a334ed",
+    "pk": "c4abc40a-c4e2-4910-b62e-7bc95ea064f3",
     "fields": {
-        "element": "492ea0b0-bcaf-4a46-a15a-29cd08e32d90",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
-        "ordering": 1
+        "element": "2ef2d52a-0316-4eb6-a3f4-a48c4e25ce7c",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"1444e97e-4873-4731-9b75-79f931c9dc9e\"]",
+        "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "c66e5e45-f39b-42b7-bbf7-55bab78bfe2c",
+    "pk": "d4439a5a-5934-4b5a-b956-853ea89dd8d4",
     "fields": {
-        "element": "72dd24ed-22f5-40a6-bbb4-b4b0abfcd758",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"f8d56f23-51f6-40dd-9482-939a1dd877b3\"]",
+        "element": "9e7e2de2-e970-4e4f-81e7-b90008d474c0",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"eed5499a-e95f-4f06-baa0-145d917a5b0c\"]",
         "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "cc4ca9d4-57ac-4b86-aa08-848fb31c15f1",
+    "pk": "d5d57a9e-97fb-401f-a128-5fc524946c0e",
     "fields": {
-        "element": "43ba23ed-3e59-466d-b48f-35928d3d9a59",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
+        "element": "ee161939-65e6-4e1f-be80-ea142dfb0c60",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"1444e97e-4873-4731-9b75-79f931c9dc9e\"]",
         "ordering": 3
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "d28feecf-d0a3-4bd6-b045-71cae47ccf4f",
+    "pk": "deb7d260-5c5c-4159-9eeb-4f98e39e1a56",
     "fields": {
-        "element": "67482d70-765b-4092-b462-2d955fd8a7df",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\"]",
+        "element": "c348ff6e-786b-445a-a828-a693fb000fe8",
+        "path": "[]",
         "ordering": 0
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "d840ea1c-695a-4e81-bfb1-ccc2c7746979",
+    "pk": "ed85c4fa-f853-428c-bd3e-f084e9274f50",
     "fields": {
-        "element": "f09bebdb-152e-427c-ae2b-2e296982f342",
-        "path": "[\"900dcb10-2146-4571-8735-f508eb5f9986\"]",
+        "element": "6953caa3-b8bb-46a8-a222-1f386ff539f5",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\", \"1444e97e-4873-4731-9b75-79f931c9dc9e\"]",
         "ordering": 2
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "dd98d35b-a3dd-48fa-bec0-1e932f9314ff",
+    "pk": "f59638f1-17e6-4715-9672-8832bd12c5fb",
     "fields": {
-        "element": "2aaa4788-127e-464c-bd8c-cd938796d207",
-        "path": "[\"900dcb10-2146-4571-8735-f508eb5f9986\"]",
-        "ordering": 0
+        "element": "eed5499a-e95f-4f06-baa0-145d917a5b0c",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 5
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "de39b960-87d6-4805-bd39-93debf36f7b3",
+    "pk": "f663a425-1981-4c25-9e3c-123a1a025db5",
     "fields": {
-        "element": "ba400ee3-7247-4c20-bef4-3a49ad9e2e77",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"67482d70-765b-4092-b462-2d955fd8a7df\"]",
-        "ordering": 0
+        "element": "2a08be28-27f2-48f8-8d87-437893d389ca",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
+        "ordering": 7
+    }
+},
+{
+    "model": "documents.elementpath",
+    "pk": "ff0bca17-626f-4671-bc4e-70a9f44ad702",
+    "fields": {
+        "element": "97394f5f-6146-42be-8038-0d735e12d5f1",
+        "path": "[\"c348ff6e-786b-445a-a828-a693fb000fe8\"]",
+        "ordering": 2
     }
 },
 {
     "model": "documents.elementpath",
-    "pk": "f0042f9c-66a9-448d-a202-03b55d40d03d",
+    "pk": "ff852e37-1ca6-43dd-b47a-c4530c0d46c1",
     "fields": {
-        "element": "9f1c4e10-d94c-4628-a575-5cb0afdd34af",
-        "path": "[\"12e84ea0-004a-43e7-9fcc-85021e2407a9\", \"43ba23ed-3e59-466d-b48f-35928d3d9a59\"]",
+        "element": "1444e97e-4873-4731-9b75-79f931c9dc9e",
+        "path": "[\"6d6b7b80-6783-42ef-88ec-15bdbe8ffb65\"]",
         "ordering": 0
     }
 },
 {
     "model": "documents.element",
-    "pk": "12e84ea0-004a-43e7-9fcc-85021e2407a9",
+    "pk": "1145ba8e-4bd5-4f2f-8bb1-c307295d88a0",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "60e8c1f1-c04d-49b6-bc6e-70e38e437f36",
-        "name": "Volume 1",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
+        "name": "Surface B",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": null,
-        "polygon": null,
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
+        "polygon": "LINEARRING (600 600, 600 1000, 1000 1000, 1000 600, 600 600)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -828,18 +828,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "1f20a3a4-33be-43a3-9427-393799aba6d7",
+    "pk": "1444e97e-4873-4731-9b75-79f931c9dc9e",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "PARIS",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
+        "name": "Volume 1, page 1r",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (100 100, 100 200, 200 200, 200 100, 100 100)",
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
+        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -847,18 +847,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "2aaa4788-127e-464c-bd8c-cd938796d207",
+    "pk": "1f8e08ad-ee8e-4924-a0b3-740722dfae47",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
-        "name": "Volume 2, page 1r",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "PARIS",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "a68c21d7-d24f-44d7-b134-3c50ee6ddba1",
-        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (100 100, 100 200, 200 200, 200 100, 100 100)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -866,13 +866,13 @@
 },
 {
     "model": "documents.element",
-    "pk": "43ba23ed-3e59-466d-b48f-35928d3d9a59",
+    "pk": "2a08be28-27f2-48f8-8d87-437893d389ca",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "c6267733-b1ce-4ea3-ac20-3a18c3d66f24",
-        "name": "Act 1",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "571f6a9b-e38b-4bd6-b22f-85bd66cc1a5e",
+        "name": "Act 5",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
@@ -885,18 +885,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "492ea0b0-bcaf-4a46-a15a-29cd08e32d90",
+    "pk": "2ef2d52a-0316-4eb6-a3f4-a48c4e25ce7c",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
-        "name": "Volume 1, page 1v",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "PARIS",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "7f006318-b3d2-4cda-b1ab-8ff844c07b35",
-        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
+        "polygon": "LINEARRING (100 100, 100 200, 200 200, 200 100, 100 100)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -904,17 +904,17 @@
 },
 {
     "model": "documents.element",
-    "pk": "60a6c062-1bbb-4e5f-82e7-37cb77d92419",
+    "pk": "2f7f15c7-c39b-4164-aea0-050c2a0e9d34",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
         "name": "DATUM",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
+        "image": "bd7d9ffd-013c-4970-9df8-1d18bbe88bd5",
         "polygon": "LINEARRING (700 700, 700 800, 800 800, 800 700, 700 700)",
         "rotation_angle": 0,
         "mirrored": false,
@@ -923,18 +923,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "6452b6c6-3d58-48c2-9032-691095fe8317",
+    "pk": "39d46933-549e-40cc-93e4-3535db7ad8a0",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "ROY",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "DATUM",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
-        "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (700 700, 700 800, 800 800, 800 700, 700 700)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -942,18 +942,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "66843ee4-559b-4d2d-a9ce-4dd425022159",
+    "pk": "3dc4ff7a-9a40-431b-b692-a2b5af381ffd",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "ROY",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
+        "name": "Volume 1, page 2r",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -961,17 +961,17 @@
 },
 {
     "model": "documents.element",
-    "pk": "67482d70-765b-4092-b462-2d955fd8a7df",
+    "pk": "416d13a8-4a15-4641-9b68-36862e80c176",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
-        "name": "Volume 1, page 1r",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
+        "name": "Surface C",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
+        "image": "bd7d9ffd-013c-4970-9df8-1d18bbe88bd5",
         "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
@@ -980,18 +980,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "72dd24ed-22f5-40a6-bbb4-b4b0abfcd758",
+    "pk": "454b9f6d-8b0d-4313-baa3-82ccf8856d42",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
-        "name": "Surface F",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
+        "name": "Volume 1, page 1v",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (600 600, 600 1000, 1000 1000, 1000 600, 600 600)",
+        "image": "bd7d9ffd-013c-4970-9df8-1d18bbe88bd5",
+        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -999,18 +999,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "737db4ff-8119-4e12-be99-968d7fa3be22",
+    "pk": "549a9a87-0632-4846-962d-7799147e0225",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
-        "name": "Volume 1, page 2r",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "571f6a9b-e38b-4bd6-b22f-85bd66cc1a5e",
+        "name": "Act 2",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
+        "image": null,
+        "polygon": null,
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1018,18 +1018,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "7ac6504c-4088-4e6e-9a48-567f1f7e54c8",
+    "pk": "6953caa3-b8bb-46a8-a222-1f386ff539f5",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
-        "name": "Volume 2, page 1v",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "DATUM",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "4867c2a1-fadc-4086-842c-c914b678d37d",
-        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
+        "polygon": "LINEARRING (700 700, 700 800, 800 800, 800 700, 700 700)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1037,18 +1037,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "7cd8a970-ca3a-479f-b49e-1292b216c1b9",
+    "pk": "6d6b7b80-6783-42ef-88ec-15bdbe8ffb65",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "DATUM",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "18027add-0729-400d-a225-60927f1dd2d9",
+        "name": "Volume 1",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "7f006318-b3d2-4cda-b1ab-8ff844c07b35",
-        "polygon": "LINEARRING (700 700, 700 800, 800 800, 800 700, 700 700)",
+        "image": null,
+        "polygon": null,
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1056,18 +1056,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "7f80cd7d-f24f-4691-a139-0ce744ea7577",
+    "pk": "77ced3ba-7f04-48c7-b5fa-2b101d191c23",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "PARIS",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
+        "name": "Volume 2, page 1v",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "7f006318-b3d2-4cda-b1ab-8ff844c07b35",
-        "polygon": "LINEARRING (100 100, 100 200, 200 200, 200 100, 100 100)",
+        "image": "d9c10a6b-6d15-4d60-a934-15a79d0b0bce",
+        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1075,18 +1075,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "8144a0f8-f75b-43fa-ac27-d49d69bc483c",
+    "pk": "7c1ba0f5-1c2a-45d8-8ef1-6217e06e079b",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "c6267733-b1ce-4ea3-ac20-3a18c3d66f24",
-        "name": "Act 4",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
+        "name": "Surface F",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": null,
-        "polygon": null,
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (600 600, 600 1000, 1000 1000, 1000 600, 600 600)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1094,18 +1094,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "8349d4ba-fd23-4da6-a99b-76ba2e359b6f",
+    "pk": "81938246-57ff-49ad-bc79-d07de4275096",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "c6267733-b1ce-4ea3-ac20-3a18c3d66f24",
-        "name": "Act 3",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "ROY",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": null,
-        "polygon": null,
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1113,18 +1113,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "8727b32e-6b08-44fd-84ff-54d505fb5a85",
+    "pk": "97394f5f-6146-42be-8038-0d735e12d5f1",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
-        "name": "Surface B",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
+        "name": "Volume 2, page 2r",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
-        "polygon": "LINEARRING (600 600, 600 1000, 1000 1000, 1000 600, 600 600)",
+        "image": "a6d3f3bc-986d-4618-8a87-fb1b86d9b866",
+        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1132,18 +1132,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "900dcb10-2146-4571-8735-f508eb5f9986",
+    "pk": "9e7e2de2-e970-4e4f-81e7-b90008d474c0",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "60e8c1f1-c04d-49b6-bc6e-70e38e437f36",
-        "name": "Volume 2",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
+        "name": "Surface D",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": null,
-        "polygon": null,
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (0 0, 0 300, 300 300, 300 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1151,18 +1151,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "9f1c4e10-d94c-4628-a575-5cb0afdd34af",
+    "pk": "a9c73703-3711-46ac-957f-25f9bb77af76",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
-        "name": "Surface A",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "ROY",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
-        "polygon": "LINEARRING (0 0, 0 600, 600 600, 600 0, 0 0)",
+        "image": "bd7d9ffd-013c-4970-9df8-1d18bbe88bd5",
+        "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1170,18 +1170,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "a0373c38-907d-4127-9762-5aada56b7165",
+    "pk": "b46d402f-385c-42c8-bca3-4cf732c6b952",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "c6267733-b1ce-4ea3-ac20-3a18c3d66f24",
-        "name": "Act 2",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
+        "name": "Surface A",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": null,
-        "polygon": null,
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
+        "polygon": "LINEARRING (0 0, 0 600, 600 600, 600 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1189,18 +1189,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "a41e2061-65cf-4c6e-9ea3-48d00d74133d",
+    "pk": "bdea4cf0-63bf-4918-b67d-b879d09f3c95",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
-        "name": "Surface C",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "571f6a9b-e38b-4bd6-b22f-85bd66cc1a5e",
+        "name": "Act 4",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "7f006318-b3d2-4cda-b1ab-8ff844c07b35",
-        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
+        "image": null,
+        "polygon": null,
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1208,18 +1208,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "ba400ee3-7247-4c20-bef4-3a49ad9e2e77",
+    "pk": "c348ff6e-786b-445a-a828-a693fb000fe8",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "PARIS",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "18027add-0729-400d-a225-60927f1dd2d9",
+        "name": "Volume 2",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
-        "polygon": "LINEARRING (100 100, 100 200, 200 200, 200 100, 100 100)",
+        "image": null,
+        "polygon": null,
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1227,18 +1227,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "c80311e3-4529-45d6-9575-31b362c99925",
+    "pk": "d3b1f490-1ac8-430e-b0d3-eb617d90b900",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "DATUM",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "PARIS",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (700 700, 700 800, 800 800, 800 700, 700 700)",
+        "image": "bd7d9ffd-013c-4970-9df8-1d18bbe88bd5",
+        "polygon": "LINEARRING (100 100, 100 200, 200 200, 200 100, 100 100)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1246,18 +1246,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "dc79378e-1804-45c8-b23f-a2eeb33734de",
+    "pk": "e590e52a-11ec-4e27-b3b1-c67cc589ced8",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
-        "name": "Surface D",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "2bee95f7-e16e-41ae-a61d-51b9a22c3fa0",
+        "name": "Surface E",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (0 0, 0 300, 300 300, 300 0, 0 0)",
+        "image": "40210c9c-bf96-4364-a715-17ca2cf675cc",
+        "polygon": "LINEARRING (300 300, 300 600, 600 600, 600 300, 300 300)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1265,17 +1265,17 @@
 },
 {
     "model": "documents.element",
-    "pk": "e2e0ab90-85c8-457e-920d-479bebb43bf9",
+    "pk": "ee161939-65e6-4e1f-be80-ea142dfb0c60",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "097f73b9-4ea7-4063-98b0-e17eb698e77a",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "1ca6552d-f876-4d2a-a167-38736ebed338",
         "name": "Text line",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "627a53a6-466c-4114-b826-852ecd328e47",
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
         "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
         "rotation_angle": 0,
         "mirrored": false,
@@ -1284,18 +1284,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "e38ab791-092f-48eb-bb09-ea95e5a01998",
+    "pk": "eed5499a-e95f-4f06-baa0-145d917a5b0c",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "aa7b5e5a-eaa3-49b5-8c7a-826941c9d472",
-        "name": "ROY",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "571f6a9b-e38b-4bd6-b22f-85bd66cc1a5e",
+        "name": "Act 3",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "7f006318-b3d2-4cda-b1ab-8ff844c07b35",
-        "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
+        "image": null,
+        "polygon": null,
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1303,18 +1303,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "f09bebdb-152e-427c-ae2b-2e296982f342",
+    "pk": "f3a388d1-9968-4486-9e3b-e5a2a11947b1",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "f2d75650-9d48-4b6e-b210-dbd595a668d2",
-        "name": "Volume 2, page 2r",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "571f6a9b-e38b-4bd6-b22f-85bd66cc1a5e",
+        "name": "Act 1",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "d7f4c84a-8aae-4c7d-86ce-567c5d4adc6d",
-        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
+        "image": null,
+        "polygon": null,
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1322,18 +1322,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "f6b8eced-ee41-42d3-812a-a622f1879809",
+    "pk": "fa35b384-692f-4b42-91ba-60d384ef251f",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "fb9cf6d3-b31a-449c-a780-2f5db501695f",
-        "name": "Surface E",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "167b45fd-13a2-4ef8-b937-47f64e2665a8",
+        "name": "ROY",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
-        "polygon": "LINEARRING (300 300, 300 600, 600 600, 600 300, 300 300)",
+        "image": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
+        "polygon": "LINEARRING (400 400, 400 500, 500 500, 500 400, 400 400)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1341,18 +1341,18 @@
 },
 {
     "model": "documents.element",
-    "pk": "f8d56f23-51f6-40dd-9482-939a1dd877b3",
+    "pk": "ffffc01b-7577-4a93-9148-02fdc1f80435",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "c6267733-b1ce-4ea3-ac20-3a18c3d66f24",
-        "name": "Act 5",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "a8f287b7-31f2-491a-b13f-cd2aa0c461d4",
+        "name": "Volume 2, page 1r",
         "creator": null,
         "worker_version": null,
         "worker_run": null,
-        "image": null,
-        "polygon": null,
+        "image": "0e219e81-b8ab-484b-a8f2-cb848a9c8b45",
+        "polygon": "LINEARRING (0 0, 0 1000, 1000 1000, 1000 0, 0 0)",
         "rotation_angle": 0,
         "mirrored": false,
         "confidence": null
@@ -1360,67 +1360,67 @@
 },
 {
     "model": "documents.entitytype",
-    "pk": "4e9c9ca3-03ae-4994-b617-4d78f0854dc0",
+    "pk": "270158cd-aaa6-46c6-b62f-036cdcc77e9b",
     "fields": {
         "name": "person",
         "color": "ff0000",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9"
     }
 },
 {
     "model": "documents.entitytype",
-    "pk": "8c7ad642-50eb-4125-899b-aa3d03024a47",
+    "pk": "2cb12ff7-fc14-4d6b-a0dd-0845333171f5",
     "fields": {
-        "name": "location",
+        "name": "organization",
         "color": "ff0000",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9"
     }
 },
 {
     "model": "documents.entitytype",
-    "pk": "95fcaaf8-6a17-4540-8a76-866a6cad9f1d",
+    "pk": "67190699-79a4-4f85-aaed-60e05adefd1a",
     "fields": {
         "name": "number",
         "color": "ff0000",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9"
     }
 },
 {
     "model": "documents.entitytype",
-    "pk": "974f88d0-2e4c-4a9e-85b7-2e244c2e883f",
+    "pk": "a5e2132e-f991-4ed9-ad10-a9fabd1401df",
     "fields": {
         "name": "date",
         "color": "ff0000",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9"
     }
 },
 {
     "model": "documents.entitytype",
-    "pk": "e82c02b6-9b63-483a-a3c0-94fe032d83f8",
+    "pk": "feaa7348-a77e-4af7-9763-2ca98b22c623",
     "fields": {
-        "name": "organization",
+        "name": "location",
         "color": "ff0000",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9"
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "268de903-300e-4a00-8f10-e2e10ac2a733",
+    "pk": "0028aefa-a8d3-4a0f-8634-6d1f0b619bb1",
     "fields": {
-        "element": "60a6c062-1bbb-4e5f-82e7-37cb77d92419",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "1444e97e-4873-4731-9b75-79f931c9dc9e",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "DATUM",
+        "text": "Lorem ipsum dolor sit amet",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "53d8a708-cd44-40b8-8862-7f663ece1133",
+    "pk": "3db65ed1-320a-4008-a887-747e3a3c6add",
     "fields": {
-        "element": "e38ab791-092f-48eb-bb09-ea95e5a01998",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "a9c73703-3711-46ac-957f-25f9bb77af76",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
         "text": "ROY",
         "orientation": "horizontal-lr",
@@ -1429,10 +1429,10 @@
 },
 {
     "model": "documents.transcription",
-    "pk": "56a95e2d-4262-42da-a435-a5f29c0bc094",
+    "pk": "5e252d09-6240-43fe-b531-ea5f8d150c91",
     "fields": {
-        "element": "ba400ee3-7247-4c20-bef4-3a49ad9e2e77",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "d3b1f490-1ac8-430e-b0d3-eb617d90b900",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
         "text": "PARIS",
         "orientation": "horizontal-lr",
@@ -1441,123 +1441,123 @@
 },
 {
     "model": "documents.transcription",
-    "pk": "7591f452-3d64-4b43-9789-0f05f2dfd6f8",
+    "pk": "6fb2d310-d2ce-4de8-89fc-2af120735fc1",
     "fields": {
-        "element": "6452b6c6-3d58-48c2-9032-691095fe8317",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "2ef2d52a-0316-4eb6-a3f4-a48c4e25ce7c",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "ROY",
+        "text": "PARIS",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "9b348778-35b7-4ed8-8232-4a641d51118d",
+    "pk": "9fd17563-7f50-4073-b286-42ddf7e47fcc",
     "fields": {
-        "element": "7f80cd7d-f24f-4691-a139-0ce744ea7577",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "39d46933-549e-40cc-93e4-3535db7ad8a0",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "PARIS",
+        "text": "DATUM",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "dd193fa4-103c-43ae-8914-ed24f2487251",
+    "pk": "b1260aaa-bcba-43ed-bab9-27a6effa99e0",
     "fields": {
-        "element": "7cd8a970-ca3a-479f-b49e-1292b216c1b9",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "1f8e08ad-ee8e-4924-a0b3-740722dfae47",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "DATUM",
+        "text": "PARIS",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "de4d3e9b-597b-483a-8178-0c78328655bf",
+    "pk": "b58a6fca-0ef0-4a9a-b020-cfc5d2bf0c38",
     "fields": {
-        "element": "66843ee4-559b-4d2d-a9ce-4dd425022159",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "2f7f15c7-c39b-4164-aea0-050c2a0e9d34",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "ROY",
+        "text": "DATUM",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "e37e143e-c6b5-4b3f-82ce-37e60fd188c1",
+    "pk": "bfa7949c-ad04-4c20-a92f-2e67006c4b5e",
     "fields": {
-        "element": "1f20a3a4-33be-43a3-9427-393799aba6d7",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "81938246-57ff-49ad-bc79-d07de4275096",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "PARIS",
+        "text": "ROY",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "e41a7db5-5c44-4a14-88e9-92d7769263ca",
+    "pk": "e66cc126-2d3c-4419-bd18-c4f8f0cb4bbb",
     "fields": {
-        "element": "c80311e3-4529-45d6-9575-31b362c99925",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "fa35b384-692f-4b42-91ba-60d384ef251f",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "DATUM",
+        "text": "ROY",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.transcription",
-    "pk": "fe88b0e9-117e-4c9b-a761-a8e63f2f095a",
+    "pk": "ebce2b3b-c593-4a72-bf99-ffd16d552aa0",
     "fields": {
-        "element": "67482d70-765b-4092-b462-2d955fd8a7df",
-        "worker_version": "06e2171f-b7d6-49dc-90fc-d47784e6e334",
+        "element": "6953caa3-b8bb-46a8-a222-1f386ff539f5",
+        "worker_version": "110fd472-59f4-43fa-a954-0a8dd776c86d",
         "worker_run": null,
-        "text": "Lorem ipsum dolor sit amet",
+        "text": "DATUM",
         "orientation": "horizontal-lr",
         "confidence": 1.0
     }
 },
 {
     "model": "documents.allowedmetadata",
-    "pk": "13e9fa71-94a9-4e47-95a4-291597a811ef",
+    "pk": "1645d910-5282-4ea0-8de9-b9495bfc4fd3",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "text",
-        "name": "folio"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "date",
+        "name": "date"
     }
 },
 {
     "model": "documents.allowedmetadata",
-    "pk": "721a146d-a883-4f73-981a-1d90744d6d13",
+    "pk": "4f1b7592-fd60-41a9-adb1-c31afd86d8b7",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "type": "date",
-        "name": "date"
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
+        "type": "text",
+        "name": "folio"
     }
 },
 {
     "model": "documents.allowedmetadata",
-    "pk": "7b693888-219e-4f24-a930-de812973dc27",
+    "pk": "e44b9326-0e8c-4e0f-a735-3d701bda3852",
     "fields": {
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
         "type": "location",
         "name": "location"
     }
 },
 {
     "model": "documents.metadata",
-    "pk": "0d46167f-853f-4a07-b780-216a8c400aa3",
+    "pk": "24d2c357-1f9f-4aeb-b680-b7426144d301",
     "fields": {
-        "element": "8349d4ba-fd23-4da6-a99b-76ba2e359b6f",
+        "element": "549a9a87-0632-4846-962d-7799147e0225",
         "name": "number",
         "type": "text",
-        "value": "3",
+        "value": "2",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1565,12 +1565,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "2cafc35d-ea3c-48cb-a93c-907d6f0a8643",
+    "pk": "2d466cc6-bd16-462e-81e3-57f7d3406ed5",
     "fields": {
-        "element": "2aaa4788-127e-464c-bd8c-cd938796d207",
+        "element": "77ced3ba-7f04-48c7-b5fa-2b101d191c23",
         "name": "folio",
         "type": "text",
-        "value": "1r",
+        "value": "1v",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1578,9 +1578,9 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "435e31bc-7844-474b-aff4-c3b8fcc6927a",
+    "pk": "2ed9bece-59a6-41e3-b7fa-23a17a1fc720",
     "fields": {
-        "element": "43ba23ed-3e59-466d-b48f-35928d3d9a59",
+        "element": "f3a388d1-9968-4486-9e3b-e5a2a11947b1",
         "name": "number",
         "type": "text",
         "value": "1",
@@ -1591,12 +1591,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "44548048-3180-4912-9134-10ae87037392",
+    "pk": "32b3e87e-37b2-43fe-b2e9-5c2720f548fe",
     "fields": {
-        "element": "737db4ff-8119-4e12-be99-968d7fa3be22",
-        "name": "folio",
+        "element": "bdea4cf0-63bf-4918-b67d-b879d09f3c95",
+        "name": "number",
         "type": "text",
-        "value": "2r",
+        "value": "4",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1604,12 +1604,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "57fb874a-5aa8-4526-9cf8-ad5c10b38d24",
+    "pk": "4d4ccd74-5144-423b-98ef-ff6f27ef0cde",
     "fields": {
-        "element": "8144a0f8-f75b-43fa-ac27-d49d69bc483c",
-        "name": "number",
+        "element": "3dc4ff7a-9a40-431b-b692-a2b5af381ffd",
+        "name": "folio",
         "type": "text",
-        "value": "4",
+        "value": "2r",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1617,12 +1617,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "9ea4ce55-d95c-46d2-802e-89f98abe862b",
+    "pk": "5935cea1-4176-4ba8-bc7e-7d399427ab86",
     "fields": {
-        "element": "f09bebdb-152e-427c-ae2b-2e296982f342",
+        "element": "1444e97e-4873-4731-9b75-79f931c9dc9e",
         "name": "folio",
         "type": "text",
-        "value": "2r",
+        "value": "1r",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1630,9 +1630,9 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "b22d936a-386d-48e3-88e0-6b88da42c982",
+    "pk": "5e861243-06eb-4e72-b904-86e04bb61fa0",
     "fields": {
-        "element": "492ea0b0-bcaf-4a46-a15a-29cd08e32d90",
+        "element": "454b9f6d-8b0d-4313-baa3-82ccf8856d42",
         "name": "folio",
         "type": "text",
         "value": "1v",
@@ -1643,9 +1643,9 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "d58788f8-58a9-488a-bef9-0302705ff942",
+    "pk": "752125f4-6e63-46e3-be1d-6a5c74e1acd5",
     "fields": {
-        "element": "f8d56f23-51f6-40dd-9482-939a1dd877b3",
+        "element": "2a08be28-27f2-48f8-8d87-437893d389ca",
         "name": "number",
         "type": "text",
         "value": "5",
@@ -1656,12 +1656,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "de810d60-9a4b-42e3-85c4-7a2174a01213",
+    "pk": "7f85231d-47f9-415d-a0d2-156a58cf70bc",
     "fields": {
-        "element": "a0373c38-907d-4127-9762-5aada56b7165",
+        "element": "eed5499a-e95f-4f06-baa0-145d917a5b0c",
         "name": "number",
         "type": "text",
-        "value": "2",
+        "value": "3",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1669,12 +1669,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "e4b071a7-41f5-416f-aeee-53ca55d4b640",
+    "pk": "abbea23e-5dc2-481c-a34b-2e4bd18bace8",
     "fields": {
-        "element": "67482d70-765b-4092-b462-2d955fd8a7df",
+        "element": "97394f5f-6146-42be-8038-0d735e12d5f1",
         "name": "folio",
         "type": "text",
-        "value": "1r",
+        "value": "2r",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1682,12 +1682,12 @@
 },
 {
     "model": "documents.metadata",
-    "pk": "fec9c649-5fd4-43f7-ab28-3b364b868087",
+    "pk": "ad4154e1-2017-4028-9f81-a9611e6a439b",
     "fields": {
-        "element": "7ac6504c-4088-4e6e-9a48-567f1f7e54c8",
+        "element": "ffffc01b-7577-4a93-9148-02fdc1f80435",
         "name": "folio",
         "type": "text",
-        "value": "1v",
+        "value": "1r",
         "entity": null,
         "worker_version": null,
         "worker_run": null
@@ -1710,12 +1710,12 @@
 },
 {
     "model": "images.image",
-    "pk": "4867c2a1-fadc-4086-842c-c914b678d37d",
+    "pk": "0e219e81-b8ab-484b-a8f2-cb848a9c8b45",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "server": 1,
-        "path": "img5",
+        "path": "img4",
         "width": 1000,
         "height": 1000,
         "hash": null,
@@ -1724,12 +1724,12 @@
 },
 {
     "model": "images.image",
-    "pk": "627a53a6-466c-4114-b826-852ecd328e47",
+    "pk": "40210c9c-bf96-4364-a715-17ca2cf675cc",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "server": 1,
-        "path": "img1",
+        "path": "img3",
         "width": 1000,
         "height": 1000,
         "hash": null,
@@ -1738,12 +1738,12 @@
 },
 {
     "model": "images.image",
-    "pk": "68df44c1-ed1f-4f29-870d-de7b4b03b1a5",
+    "pk": "4e80d190-2343-4e72-b60f-fda6b3d70b0d",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "server": 1,
-        "path": "img3",
+        "path": "img1",
         "width": 1000,
         "height": 1000,
         "hash": null,
@@ -1752,12 +1752,12 @@
 },
 {
     "model": "images.image",
-    "pk": "7f006318-b3d2-4cda-b1ab-8ff844c07b35",
+    "pk": "a6d3f3bc-986d-4618-8a87-fb1b86d9b866",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "server": 1,
-        "path": "img2",
+        "path": "img6",
         "width": 1000,
         "height": 1000,
         "hash": null,
@@ -1766,12 +1766,12 @@
 },
 {
     "model": "images.image",
-    "pk": "a68c21d7-d24f-44d7-b134-3c50ee6ddba1",
+    "pk": "bd7d9ffd-013c-4970-9df8-1d18bbe88bd5",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "server": 1,
-        "path": "img4",
+        "path": "img2",
         "width": 1000,
         "height": 1000,
         "hash": null,
@@ -1780,12 +1780,12 @@
 },
 {
     "model": "images.image",
-    "pk": "d7f4c84a-8aae-4c7d-86ce-567c5d4adc6d",
+    "pk": "d9c10a6b-6d15-4d60-a934-15a79d0b0bce",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "server": 1,
-        "path": "img6",
+        "path": "img5",
         "width": 1000,
         "height": 1000,
         "hash": null,
@@ -1794,56 +1794,56 @@
 },
 {
     "model": "users.right",
-    "pk": "053efd1b-d12f-49e5-ae72-54c7008224ec",
+    "pk": "053ed1e1-850b-4554-b0d0-d05576b71696",
     "fields": {
-        "user": 2,
+        "user": 3,
         "group": null,
-        "content_type": 19,
-        "content_id": "1204ee59-2b68-4dfb-a083-3df4996c2337",
-        "level": 100
+        "content_type": 34,
+        "content_id": "18eabf1f-18b6-43d9-b104-7abfcb5b9baa",
+        "level": 50
     }
 },
 {
     "model": "users.right",
-    "pk": "3e267701-586a-45f5-adf3-20bab26fbaae",
+    "pk": "09f17812-99b6-4aa0-987b-541efc0d9eab",
     "fields": {
         "user": 2,
         "group": null,
-        "content_type": 34,
-        "content_id": "192deb9f-d37e-4edd-bb9b-2ae35c7ecba5",
+        "content_type": 19,
+        "content_id": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
         "level": 100
     }
 },
 {
     "model": "users.right",
-    "pk": "7c7634a0-2cd6-4d54-9a1b-14b0c0390050",
+    "pk": "0dcde7a7-c2a1-4e91-85c5-f5d392c511a6",
     "fields": {
-        "user": 2,
+        "user": 4,
         "group": null,
-        "content_type": 11,
-        "content_id": "94055f35-9ac9-44a0-ac5d-386e132bea2c",
+        "content_type": 34,
+        "content_id": "18eabf1f-18b6-43d9-b104-7abfcb5b9baa",
         "level": 10
     }
 },
 {
     "model": "users.right",
-    "pk": "9f79af1d-f49f-4fd7-8504-2553ceab64db",
+    "pk": "42da1a2f-2ff0-4480-b530-30b0934eb6be",
     "fields": {
-        "user": 3,
+        "user": 2,
         "group": null,
         "content_type": 34,
-        "content_id": "192deb9f-d37e-4edd-bb9b-2ae35c7ecba5",
-        "level": 50
+        "content_id": "18eabf1f-18b6-43d9-b104-7abfcb5b9baa",
+        "level": 100
     }
 },
 {
     "model": "users.right",
-    "pk": "f38dad9a-d7b5-43cc-8ec7-e437296a0ca4",
+    "pk": "9323c83d-637f-43b5-8829-03c71505f4fb",
     "fields": {
-        "user": 4,
+        "user": 2,
         "group": null,
-        "content_type": 34,
-        "content_id": "192deb9f-d37e-4edd-bb9b-2ae35c7ecba5",
+        "content_type": 11,
+        "content_id": "ff732a3f-c9ac-43fe-8b22-c03cf82d2a4e",
         "level": 10
     }
 },
@@ -1851,7 +1851,7 @@
     "model": "users.user",
     "pk": 1,
     "fields": {
-        "password": "pbkdf2_sha256$390000$uNaUvBneqUWhzAsyWIWTw0$2Q13vkqIe5EhzX9rxV94tnAAuzYxXL1OMkfD49k8j0U=",
+        "password": "pbkdf2_sha256$390000$K7ghXs3mkOALU9T2ri8k6D$Hw9rIqH0Mdlvd2vaMSsj7lH3TLerOKfpkHUVk4ZfZPM=",
         "last_login": null,
         "email": "root@root.fr",
         "display_name": "Admin",
@@ -1866,7 +1866,7 @@
     "model": "users.user",
     "pk": 2,
     "fields": {
-        "password": "pbkdf2_sha256$390000$c0a4pOThTZIgnvLuFhk0M8$uY0aZIWY33541EueCEsJwiSn9JV4/xMmblh2ZB+iJIQ=",
+        "password": "pbkdf2_sha256$390000$4SWGc0rfBPkIHNBjmvIVhM$F81VX9tQd5l9iKOdb970liPhie/hbyyHNsYO7O7fOKE=",
         "last_login": null,
         "email": "user@user.fr",
         "display_name": "Test user",
@@ -1909,7 +1909,7 @@
 },
 {
     "model": "users.group",
-    "pk": "192deb9f-d37e-4edd-bb9b-2ae35c7ecba5",
+    "pk": "18eabf1f-18b6-43d9-b104-7abfcb5b9baa",
     "fields": {
         "name": "User group",
         "public": false,
@@ -3905,17 +3905,53 @@
         "codename": "view_datasetelement"
     }
 },
+{
+    "model": "auth.permission",
+    "pk": 222,
+    "fields": {
+        "name": "Can add dataset set",
+        "content_type": 57,
+        "codename": "add_datasetset"
+    }
+},
+{
+    "model": "auth.permission",
+    "pk": 223,
+    "fields": {
+        "name": "Can change dataset set",
+        "content_type": 57,
+        "codename": "change_datasetset"
+    }
+},
+{
+    "model": "auth.permission",
+    "pk": 224,
+    "fields": {
+        "name": "Can delete dataset set",
+        "content_type": 57,
+        "codename": "delete_datasetset"
+    }
+},
+{
+    "model": "auth.permission",
+    "pk": 225,
+    "fields": {
+        "name": "Can view dataset set",
+        "content_type": 57,
+        "codename": "view_datasetset"
+    }
+},
 {
     "model": "ponos.farm",
-    "pk": "94055f35-9ac9-44a0-ac5d-386e132bea2c",
+    "pk": "ff732a3f-c9ac-43fe-8b22-c03cf82d2a4e",
     "fields": {
         "name": "Wheat farm",
-        "seed": "8cb2c985dcb2dcd344db193307b9049c1fe54d26faba25b417acbb2cdfcc9f41"
+        "seed": "91901d0fec5faf1551277b5c76546b41902b8aefb819c3dbd10c3a643e6bb93c"
     }
 },
 {
     "model": "ponos.task",
-    "pk": "1cb97d66-b673-4068-9824-ab8c33fdcb95",
+    "pk": "5c722e0d-2a2f-4ee8-9609-6033e450fd53",
     "fields": {
         "run": 0,
         "depth": 0,
@@ -3931,22 +3967,22 @@
         "agent": null,
         "requires_gpu": false,
         "gpu": null,
-        "process": "3421ba72-b14c-4df0-a504-1e7e90abe4b4",
+        "process": "d6b43bc9-d87c-4c80-9211-f0c807506ad7",
         "worker_run": null,
         "container": null,
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
         "expiry": "2100-12-31T23:59:59.999Z",
         "extra_files": "{}",
-        "token": "/Mp4N1XhQsWzkPneokooyFdtnCiW4EeQi09Z6nn5LUo=",
+        "token": "OhbumqNZSmuGnj0MZ3lhJYRc3nHBm0WGrv9RNdtYpJk=",
         "parents": []
     }
 },
 {
     "model": "ponos.artifact",
-    "pk": "492ea45f-2c2d-4bf3-a461-016204fcfb03",
+    "pk": "481b42e2-645c-47fe-937f-5b4431f10563",
     "fields": {
-        "task": "1cb97d66-b673-4068-9824-ab8c33fdcb95",
+        "task": "5c722e0d-2a2f-4ee8-9609-6033e450fd53",
         "path": "/path/to/docker_build",
         "size": 42000,
         "content_type": "application/octet-stream",
@@ -3956,32 +3992,78 @@
 },
 {
     "model": "training.dataset",
-    "pk": "5fb84be2-a906-4bc0-830b-f3a369021a32",
+    "pk": "170bc276-0e11-483a-9486-88a4bf2079b2",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
         "creator": 2,
         "task": null,
         "name": "Second Dataset",
         "description": "dataset number two",
-        "state": "open",
-        "sets": "[\"training\", \"test\", \"validation\"]"
+        "state": "open"
     }
 },
 {
     "model": "training.dataset",
-    "pk": "cd5bcbb9-450f-4bdf-9bfc-9640194c2f88",
+    "pk": "6b32dab0-e3f2-4fff-b0ad-2ea1ee550810",
     "fields": {
         "created": "2020-02-02T01:23:45.678Z",
         "updated": "2020-02-02T01:23:45.678Z",
-        "corpus": "1204ee59-2b68-4dfb-a083-3df4996c2337",
+        "corpus": "3a30b730-9c9e-4b5a-828e-abc4365ea1b9",
         "creator": 2,
         "task": null,
         "name": "First Dataset",
         "description": "dataset number one",
-        "state": "open",
-        "sets": "[\"training\", \"test\", \"validation\"]"
+        "state": "open"
+    }
+},
+{
+    "model": "training.datasetset",
+    "pk": "00e3b37b-f1ed-4adb-a1de-a1c103edaa24",
+    "fields": {
+        "name": "Test",
+        "dataset": "170bc276-0e11-483a-9486-88a4bf2079b2"
+    }
+},
+{
+    "model": "training.datasetset",
+    "pk": "95255ff4-7bca-424c-8e7e-d8b5c33c585f",
+    "fields": {
+        "name": "Train",
+        "dataset": "170bc276-0e11-483a-9486-88a4bf2079b2"
+    }
+},
+{
+    "model": "training.datasetset",
+    "pk": "b21e4b31-1dc1-4015-9933-3a8e180cf2e0",
+    "fields": {
+        "name": "Validation",
+        "dataset": "170bc276-0e11-483a-9486-88a4bf2079b2"
+    }
+},
+{
+    "model": "training.datasetset",
+    "pk": "b76d919c-ce7e-4896-94c3-9b47862b997a",
+    "fields": {
+        "name": "Validation",
+        "dataset": "6b32dab0-e3f2-4fff-b0ad-2ea1ee550810"
+    }
+},
+{
+    "model": "training.datasetset",
+    "pk": "d5f4d410-0588-4d19-8d08-b57a11bad67f",
+    "fields": {
+        "name": "Train",
+        "dataset": "6b32dab0-e3f2-4fff-b0ad-2ea1ee550810"
+    }
+},
+{
+    "model": "training.datasetset",
+    "pk": "db70ad8a-8d6b-44c6-b8d3-837bf5a4ab8e",
+    "fields": {
+        "name": "Test",
+        "dataset": "6b32dab0-e3f2-4fff-b0ad-2ea1ee550810"
     }
 }
 ]
diff --git a/arkindex/documents/management/commands/build_fixtures.py b/arkindex/documents/management/commands/build_fixtures.py
index 1e8a5cbab43692008920951832870daaa2cfe4b4..e14ef7a7cee1876d131d133f239bbcf88bed31c4 100644
--- a/arkindex/documents/management/commands/build_fixtures.py
+++ b/arkindex/documents/management/commands/build_fixtures.py
@@ -21,6 +21,7 @@ from arkindex.process.models import (
     WorkerVersionState,
 )
 from arkindex.project.tools import fake_now
+from arkindex.training.models import DatasetSet
 from arkindex.users.models import Group, Right, Role, User
 
 
@@ -288,8 +289,15 @@ class Command(BaseCommand):
         )
 
         # Create 2 datasets
-        corpus.datasets.create(name="First Dataset", description="dataset number one", creator=user)
-        corpus.datasets.create(name="Second Dataset", description="dataset number two", creator=user)
+        dataset_1 = corpus.datasets.create(name="First Dataset", description="dataset number one", creator=user)
+        dataset_2 = corpus.datasets.create(name="Second Dataset", description="dataset number two", creator=user)
+        # Create their sets
+        DatasetSet.objects.bulk_create(
+            DatasetSet(name=name, dataset_id=dataset_1.id) for name in ["Train", "Validation", "Test"]
+        )
+        DatasetSet.objects.bulk_create(
+            DatasetSet(name=name, dataset_id=dataset_2.id) for name in ["Train", "Validation", "Test"]
+        )
 
         # Create 2 volumes
         vol1 = Element.objects.create(
diff --git a/arkindex/process/migrations/0029_processdataset_sets.py b/arkindex/process/migrations/0029_processdataset_sets.py
index 868c1cc29fe5814d20fa4d4988ec5b55b89f486a..f1b1cda5097ebf68abaf276d22464f1ab5b3147d 100644
--- a/arkindex/process/migrations/0029_processdataset_sets.py
+++ b/arkindex/process/migrations/0029_processdataset_sets.py
@@ -1,8 +1,8 @@
 import django.core.validators
 from django.db import migrations, models
 
+import arkindex.process.models
 import arkindex.project.fields
-import arkindex.training.models
 
 
 class Migration(migrations.Migration):
@@ -37,7 +37,7 @@ class Migration(migrations.Migration):
                     validators=[django.core.validators.MinLengthValidator(1)]
                 ),
                 size=None,
-                validators=[django.core.validators.MinLengthValidator(1), arkindex.training.models.validate_unique_set_names]
+                validators=[django.core.validators.MinLengthValidator(1), arkindex.process.models.validate_unique_set_names]
             ),
         ),
     ]
diff --git a/arkindex/process/models.py b/arkindex/process/models.py
index 3acbede35ef467e3d796b044fc0ac552f02ed3e2..1d8561000cc6f832cfff726abebfc0a9a300684a 100644
--- a/arkindex/process/models.py
+++ b/arkindex/process/models.py
@@ -5,6 +5,7 @@ from typing import Optional
 
 from django.conf import settings
 from django.contrib.contenttypes.fields import GenericRelation
+from django.core.exceptions import ValidationError
 from django.core.validators import MinLengthValidator, MinValueValidator
 from django.db import models, transaction
 from django.db.models import F, Q
@@ -28,7 +29,7 @@ from arkindex.project.aws import S3FileMixin, S3FileStatus
 from arkindex.project.fields import ArrayField, MD5HashField
 from arkindex.project.models import IndexableModel
 from arkindex.project.validators import MaxValueValidator
-from arkindex.training.models import ModelVersion, ModelVersionState, validate_unique_set_names
+from arkindex.training.models import ModelVersion, ModelVersionState
 from arkindex.users.models import Role
 
 
@@ -40,6 +41,11 @@ def process_max_chunks():
     return settings.MAX_CHUNKS
 
 
+def validate_unique_set_names(sets):
+    if len(set(sets)) != len(sets):
+        raise ValidationError("Set names must be unique.")
+
+
 class ActivityState(Enum):
     """
     Store the state of the workers activity tracking for a process.
diff --git a/arkindex/project/serializer_fields.py b/arkindex/project/serializer_fields.py
index cefaaf14ec832e4ff3014a6dd44a701dc5e604d3..7667083d861344b70be059872111055dcea360c7 100644
--- a/arkindex/project/serializer_fields.py
+++ b/arkindex/project/serializer_fields.py
@@ -12,6 +12,7 @@ from arkindex.documents.models import MetaType
 from arkindex.ponos.utils import get_process_from_task_auth
 from arkindex.process.models import ProcessMode, WorkerRun
 from arkindex.project.gis import ensure_linear_ring
+from arkindex.training.models import DatasetElement
 
 
 class EnumField(serializers.ChoiceField):
@@ -283,12 +284,12 @@ class DatasetSetsCountField(serializers.DictField):
     def get_attribute(self, instance):
         if not self.context.get("sets_count", True):
             return None
-        elts_count = {k: 0 for k in instance.sets}
+        elts_count = {k.name: 0 for k in instance.sets.all()}
         elts_count.update(
-            instance.dataset_elements
-            .values("set")
+            DatasetElement.objects.filter(set__dataset_id=instance.id)
+            .values("set__name")
             .annotate(count=Count("id"))
-            .values_list("set", "count")
+            .values_list("set__name", "count")
         )
         return elts_count
 
diff --git a/arkindex/training/admin.py b/arkindex/training/admin.py
index 858f40be148e6249995772cd0794dc88aa4052d2..66f3626575649c6e4a5616165d4a5073079ba93f 100644
--- a/arkindex/training/admin.py
+++ b/arkindex/training/admin.py
@@ -2,7 +2,7 @@ from django.contrib import admin
 from enumfields.admin import EnumFieldListFilter
 
 from arkindex.project.admin import ArchivedListFilter
-from arkindex.training.models import Dataset, MetricKey, MetricValue, Model, ModelVersion
+from arkindex.training.models import Dataset, DatasetSet, MetricKey, MetricValue, Model, ModelVersion
 
 
 class ModelAdmin(admin.ModelAdmin):
@@ -31,21 +31,17 @@ class MetricKeyAdmin(admin.ModelAdmin):
     inlines = [MetricValueInline, ]
 
 
+class DatasetSetInLine(admin.StackedInline):
+    model = DatasetSet
+
+
 class DatasetAdmin(admin.ModelAdmin):
     list_display = ("name", "corpus", "state")
     list_filter = (("state", EnumFieldListFilter), "corpus")
     search_fields = ("name", "description")
-    fields = ("id", "name", "created", "updated", "description", "corpus", "creator", "task", "sets")
+    fields = ("id", "name", "created", "updated", "description", "corpus", "creator", "task")
     readonly_fields = ("id", "created", "updated", "task")
-
-    def get_form(self, *args, **kwargs):
-        form = super().get_form(*args, **kwargs)
-        # Add a help text to mention that the set names should be comma-separated.
-        # This is only done here and not through the usual `help_text=…` in the model
-        # because this is only relevant to the Django admin and should not appear in
-        # DRF serializers or the API docs.
-        form.base_fields["sets"].help_text = "Comma-separated list of set names"
-        return form
+    inlines = [DatasetSetInLine, ]
 
 
 admin.site.register(Model, ModelAdmin)
diff --git a/arkindex/training/api.py b/arkindex/training/api.py
index 353dc6e9286760c278d8895c12e6f5d9bae11135..06034116e91209f2d4f5eb20be8d18ba66921670 100644
--- a/arkindex/training/api.py
+++ b/arkindex/training/api.py
@@ -609,6 +609,7 @@ class CorpusDataset(CorpusACLMixin, ListCreateAPIView):
     def get_queryset(self):
         return Dataset.objects \
             .select_related("creator") \
+            .prefetch_related("sets") \
             .filter(corpus=self.corpus) \
             .order_by("name")
 
diff --git a/arkindex/training/migrations/0001_initial.py b/arkindex/training/migrations/0001_initial.py
index 154f97adfd7e8f83f0e3b66120988d07864f1f6d..ba280c7d4a06e0b06710c25a9dc3284d10aef9ba 100644
--- a/arkindex/training/migrations/0001_initial.py
+++ b/arkindex/training/migrations/0001_initial.py
@@ -8,9 +8,13 @@ import django.db.models.deletion
 import enumfields.fields
 from django.db import migrations, models
 
+import arkindex.process.models
 import arkindex.project.aws
 import arkindex.project.fields
-import arkindex.training.models
+
+
+def default_sets():
+    return ["training", "test", "validation"]
 
 
 class Migration(migrations.Migration):
@@ -32,7 +36,7 @@ class Migration(migrations.Migration):
                 ("name", models.CharField(max_length=100, validators=[django.core.validators.MinLengthValidator(1)])),
                 ("description", models.TextField(validators=[django.core.validators.MinLengthValidator(1)])),
                 ("state", enumfields.fields.EnumField(default="open", enum=arkindex.training.models.DatasetState, max_length=10)),
-                ("sets", django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=50, validators=[django.core.validators.MinLengthValidator(1)]), default=arkindex.training.models.default_sets, size=None, validators=[django.core.validators.MinLengthValidator(1), arkindex.training.models.validate_unique_set_names])),
+                ("sets", django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=50, validators=[django.core.validators.MinLengthValidator(1)]), default=default_sets, size=None, validators=[django.core.validators.MinLengthValidator(1), arkindex.process.models.validate_unique_set_names])),
                 ("corpus", models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name="datasets", to="documents.corpus")),
             ],
         ),
diff --git a/arkindex/training/migrations/0007_datasetset_model.py b/arkindex/training/migrations/0007_datasetset_model.py
index 94e1b35bfc7123f367c317f3e43bc106481ce74f..8630baa59354605087acdc25145170ebb2183b87 100644
--- a/arkindex/training/migrations/0007_datasetset_model.py
+++ b/arkindex/training/migrations/0007_datasetset_model.py
@@ -83,7 +83,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name="datasetelement",
             name="set",
-            field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name="dataset_elements", to="training.datasetset"),
+            field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name="set_elements", to="training.datasetset"),
         ),
         migrations.RemoveField(
             model_name="dataset",
diff --git a/arkindex/training/models.py b/arkindex/training/models.py
index 363393d2b8dea903e6a70951d480e5eb374baddd..06f4f84c5ff4452f56d7f65437256751cb93f1c5 100644
--- a/arkindex/training/models.py
+++ b/arkindex/training/models.py
@@ -4,7 +4,6 @@ from hashlib import sha256
 
 from django.conf import settings
 from django.contrib.contenttypes.fields import GenericRelation
-from django.core.exceptions import ValidationError
 from django.core.validators import MinLengthValidator
 from django.db import models
 from django.db.models import Q
@@ -241,15 +240,6 @@ class DatasetState(Enum):
     Error = "error"
 
 
-def validate_unique_set_names(sets):
-    if len(set(sets)) != len(sets):
-        raise ValidationError("Set names must be unique.")
-
-
-def default_sets():
-    return ["training", "test", "validation"]
-
-
 class Dataset(models.Model):
     id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
     created = models.DateTimeField(auto_now_add=True)
@@ -316,6 +306,6 @@ class DatasetElement(models.Model):
     )
     set = models.ForeignKey(
         DatasetSet,
-        related_name="dataset_elements",
+        related_name="set_elements",
         on_delete=models.DO_NOTHING,
     )
diff --git a/arkindex/training/serializers.py b/arkindex/training/serializers.py
index ab1e300b586aceb1a7a6761b169349cac2524e12..4acb03a6638b16a41be046c37fef9667096f5a3a 100644
--- a/arkindex/training/serializers.py
+++ b/arkindex/training/serializers.py
@@ -6,18 +6,19 @@ from textwrap import dedent
 from django.db import transaction
 from django.db.models import Count, Q
 from drf_spectacular.utils import extend_schema_field
-from rest_framework import serializers
+from rest_framework import permissions, serializers
 from rest_framework.exceptions import PermissionDenied, ValidationError
 from rest_framework.validators import UniqueTogetherValidator
 
 from arkindex.documents.models import Element
 from arkindex.documents.serializers.elements import ElementListSerializer
 from arkindex.ponos.models import Task
-from arkindex.process.models import ProcessDataset, Worker
+from arkindex.process.models import Worker
 from arkindex.project.serializer_fields import ArchivedField, DatasetSetsCountField, EnumField
 from arkindex.training.models import (
     Dataset,
     DatasetElement,
+    DatasetSet,
     DatasetState,
     MetricKey,
     MetricMode,
@@ -479,6 +480,12 @@ class MetricValueBulkSerializer(serializers.Serializer):
         return validated_data
 
 
+class DatasetSetSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = DatasetSet
+        fields = ("id", "name",)
+
+
 class DatasetSerializer(serializers.ModelSerializer):
     state = EnumField(
         DatasetState,
@@ -505,6 +512,9 @@ class DatasetSerializer(serializers.ModelSerializer):
         help_text="Display name of the user who created the dataset.",
     )
 
+    set_names = serializers.ListField(child=serializers.CharField(max_length=50), write_only=True, default=["Training", "Validation", "Test"])
+    sets = DatasetSetSerializer(many=True, read_only=True)
+
     # When creating the dataset, the dataset's corpus comes from the URL, so the APIView passes it through
     corpus = serializers.HiddenField(default=_corpus_from_context)
 
@@ -517,16 +527,6 @@ class DatasetSerializer(serializers.ModelSerializer):
         help_text="Distribution of elements in sets. This value is set to null when listing multiple datasets.",
     )
 
-    def sets_diff(self, new_sets):
-        """
-        Returns a list of removed sets, and a list of added sets for updates
-        """
-        if not isinstance(self.instance, Dataset):
-            return [], new_sets
-        current_sets = set(self.instance.sets)
-        new_sets = set(new_sets)
-        return list(current_sets - new_sets), list(new_sets - current_sets)
-
     def validate_state(self, state):
         """
         Dataset's state update is limited to these transitions:
@@ -550,27 +550,12 @@ class DatasetSerializer(serializers.ModelSerializer):
             raise ValidationError(f"Transition from {self.instance.state} to {state} is not allowed.")
         return state
 
-    def validate_sets(self, sets):
-        """
-        Ensure sets are updated in a comprehensible way.
-        It is either possible to add multiple sets,
-        remove multiple sets or update a single set.
-        """
-        if sets is not None and len(set(sets)) != len(sets):
+    def validate_set_names(self, set_names):
+        if self.context["request"].method not in permissions.SAFE_METHODS and self.context["request"].method != "POST":
+            raise ValidationError("This API endpoint does not allow updating a dataset's sets.")
+        if set_names is not None and len(set(set_names)) != len(set_names):
             raise ValidationError("Set names must be unique.")
-
-        removed, added = self.sets_diff(sets)
-        if removed and ProcessDataset.objects.filter(sets__overlap=removed, dataset_id=self.instance.id).exists():
-            # Sets that are used in a ProcessDataset cannot be renamed or deleted
-            raise ValidationError("These sets cannot be updated because one or more are selected in a dataset process.")
-        if not removed or not added:
-            # Some sets have either been added or removed, but not both; do nothing
-            return sets
-        elif len(removed) == 1 and len(added) == 1:
-            # A single set has been renamed. Move its elements later, while performing the update
-            return sets
-        else:
-            raise ValidationError("Updating those sets is ambiguous because several have changed.")
+        return set_names
 
     def validate(self, data):
         data = super().validate(data)
@@ -598,13 +583,17 @@ class DatasetSerializer(serializers.ModelSerializer):
 
         return data
 
-    @transaction.atomic()
-    def update(self, instance, validated_data):
-        removed, added = self.sets_diff(validated_data.get("sets", self.instance.sets))
-        if len(removed) == 1 and len(added) == 1:
-            set_from, set_to = *removed, *added
-            instance.dataset_elements.filter(set=set_from).update(set=set_to)
-        return super().update(instance, validated_data)
+    @transaction.atomic
+    def create(self, validated_data):
+        sets = validated_data.pop("set_names")
+        dataset = Dataset.objects.create(**validated_data)
+        DatasetSet.objects.bulk_create(
+            DatasetSet(
+                name=set_name,
+                dataset_id=dataset.id
+            ) for set_name in sets
+        )
+        return dataset
 
     class Meta:
         model = Dataset
@@ -613,6 +602,7 @@ class DatasetSerializer(serializers.ModelSerializer):
             "name",
             "description",
             "sets",
+            "set_names",
             "set_elements",
             "state",
             # Only the corpus ID is actually serialized
@@ -647,13 +637,7 @@ class DatasetSerializer(serializers.ModelSerializer):
             "sets": {
                 "error_messages": {
                     "empty": "Either do not specify set names to use the default values, or specify a non-empty list of names."
-                },
-                "help_text": dedent(
-                    """
-                    Updating the sets array must either add or remove sets (in this case nothing specific is done),
-                    or rename a single set within the array (all elements linked to the previous set will be moved).
-                    """
-                ).strip(),
+                }
             }
         }
 
@@ -726,35 +710,29 @@ class ElementDatasetSerializer(serializers.ModelSerializer):
 
 
 class SelectionDatasetElementSerializer(serializers.Serializer):
-    dataset_id = serializers.PrimaryKeyRelatedField(
-        queryset=Dataset.objects.all(),
-        source="dataset",
+    set_id = serializers.PrimaryKeyRelatedField(
+        queryset=DatasetSet.objects.none(),
+        source="set",
         write_only=True,
-        help_text="UUID of a dataset to add elements from your corpus' selection.",
+        help_text="UUID of a dataset set the elements will be added to.",
         style={"base_template": "input.html"},
     )
-    set = serializers.CharField(
-        max_length=50,
-        write_only=True,
-        help_text="Name of the set elements will be added to.",
-    )
 
-    def validate_dataset_id(self, dataset):
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.fields["set_id"].queryset = DatasetSet.objects.filter(
+            dataset__corpus_id=self.context["corpus"].id
+        ).select_related("dataset")
+
+    def validate_set_id(self, set):
         if (
             (corpus := self.context.get("corpus"))
-            and dataset.corpus_id != corpus.id
+            and set.dataset.corpus_id != corpus.id
         ):
-            raise ValidationError(f"Dataset {dataset.id} is not part of corpus {corpus.name}.")
-        if dataset.state == DatasetState.Complete:
-            raise ValidationError(f"Dataset {dataset.id} is marked as completed.")
-        return dataset
-
-    def validate(self, data):
-        data = super().validate(data)
-        dataset = data["dataset"]
-        if data["set"] not in dataset.sets:
-            raise ValidationError({"set": [f'This dataset only allows one of {", ".join(dataset.sets)}.']})
-        return data
+            raise ValidationError(f"Dataset {set.dataset.id} is not part of corpus {corpus.name}.")
+        if set.dataset.state == DatasetState.Complete:
+            raise ValidationError(f"Dataset {set.dataset.id} is marked as completed.")
+        return set
 
     def create(self, validated_data):
         user = self.context["request"].user
diff --git a/arkindex/training/tests/test_datasets_api.py b/arkindex/training/tests/test_datasets_api.py
index a97ad190a6026f3a23f270833ebcf302641bb4fa..9b19becc278d1751bad3cd5ac2b43e62b41110a9 100644
--- a/arkindex/training/tests/test_datasets_api.py
+++ b/arkindex/training/tests/test_datasets_api.py
@@ -9,7 +9,7 @@ from arkindex.documents.models import Corpus
 from arkindex.process.models import Process, ProcessDataset, ProcessMode
 from arkindex.project.tests import FixtureAPITestCase
 from arkindex.project.tools import fake_now
-from arkindex.training.models import Dataset, DatasetState
+from arkindex.training.models import Dataset, DatasetSet, DatasetState
 from arkindex.users.models import Role, User
 
 # Using the fake DB fixtures creation date when needed
@@ -33,6 +33,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
         ProcessDataset.objects.create(process=cls.process, dataset=cls.dataset, sets=["training", "test", "validation"])
         ProcessDataset.objects.create(process=cls.process, dataset=cls.dataset2, sets=["test"])
         cls.private_dataset = Dataset.objects.create(name="Private Dataset", description="Dead Sea Scrolls", corpus=cls.private_corpus, creator=cls.dataset_creator)
+        cls.private_dataset_set = DatasetSet.objects.create(dataset=cls.private_dataset, name="Private set")
         cls.vol = cls.corpus.elements.get(name="Volume 1")
         cls.page1 = cls.corpus.elements.get(name="Volume 1, page 1r")
         cls.page2 = cls.corpus.elements.get(name="Volume 1, page 1v")
@@ -75,7 +76,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
 
     def test_list(self):
         self.client.force_login(self.user)
-        with self.assertNumQueries(5):
+        with self.assertNumQueries(6):
             response = self.client.get(reverse("api:corpus-datasets", kwargs={"pk": self.corpus.pk}))
             self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(response.json()["results"], [
@@ -83,7 +84,13 @@ class TestDatasetsAPI(FixtureAPITestCase):
                 "name": "First Dataset",
                 "description": "dataset number one",
                 "id": str(self.dataset.pk),
-                "sets": ["training", "test", "validation"],
+                "sets": [
+                    {
+                        "id": str(ds.id),
+                        "name": ds.name
+                    }
+                    for ds in self.dataset.sets.all()
+                ],
                 "set_elements": None,
                 "state": "open",
                 "creator": "Test user",
@@ -96,7 +103,13 @@ class TestDatasetsAPI(FixtureAPITestCase):
                 "name": "Second Dataset",
                 "description": "dataset number two",
                 "id": str(self.dataset2.pk),
-                "sets": ["training", "test", "validation"],
+                "sets": [
+                    {
+                        "id": str(ds.id),
+                        "name": ds.name
+                    }
+                    for ds in self.dataset2.sets.all()
+                ],
                 "set_elements": None,
                 "state": "open",
                 "creator": "Test user",
@@ -254,7 +267,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
 
     def test_create(self):
         self.client.force_login(self.user)
-        with self.assertNumQueries(6):
+        with self.assertNumQueries(10):
             response = self.client.post(
                 reverse("api:corpus-datasets", kwargs={"pk": self.corpus.pk}),
                 data={"name": "My dataset", "description": "My dataset for my experiments."},
@@ -266,11 +279,11 @@ class TestDatasetsAPI(FixtureAPITestCase):
             "id": str(created_dataset.id),
             "name": "My dataset",
             "description": "My dataset for my experiments.",
-            "sets": ["training", "test", "validation"],
+            "sets": {},
             "set_elements": {
-                "training": 0,
-                "test": 0,
-                "validation": 0,
+                "Training": 0,
+                "Test": 0,
+                "Validation": 0,
             },
             "state": "open",
             "creator": "Test user",
@@ -494,199 +507,21 @@ class TestDatasetsAPI(FixtureAPITestCase):
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
         self.assertDictEqual(response.json(), {"description": ["This field is required."]})
 
-    def test_update_add_sets(self):
-        self.client.force_login(self.user)
-        self.assertIsNone(self.dataset.task_id)
-        with self.assertNumQueries(8):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "Shin Seiki Evangelion",
-                    "description": "Omedeto!",
-                    "sets": self.dataset.sets + ["unit-01", "unit-02"],
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_200_OK)
-        self.dataset.refresh_from_db()
-        self.assertEqual(self.dataset.state, DatasetState.Open)
-        self.assertEqual(self.dataset.name, "Shin Seiki Evangelion")
-        self.assertEqual(self.dataset.description, "Omedeto!")
-        self.assertListEqual(self.dataset.sets, ["training", "test", "validation", "unit-01", "unit-02"])
-        self.assertIsNone(self.dataset.task_id)
-
-    def test_update_remove_sets(self):
-        """
-        It is possible to remove many sets, no elements are moved
-        """
-        # Remove ProcessDataset relation
-        ProcessDataset.objects.get(process=self.process, dataset=self.dataset).delete()
-        self.client.force_login(self.user)
-        dataset_elt = self.dataset.dataset_elements.create(element=self.page1, set="training")
-        with self.assertNumQueries(9):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "Shin Seiki Evangelion",
-                    "description": "Omedeto!",
-                    # train and validation sets are removed
-                    "sets": ["test"],
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_200_OK)
-        self.dataset.refresh_from_db()
-        self.assertEqual(self.dataset.state, DatasetState.Open)
-        self.assertEqual(self.dataset.name, "Shin Seiki Evangelion")
-        self.assertEqual(self.dataset.description, "Omedeto!")
-        self.assertListEqual(self.dataset.sets, ["test"])
-        self.assertIsNone(self.dataset.task_id)
-        dataset_elt.refresh_from_db()
-        self.assertEqual(dataset_elt.element, self.page1)
-        self.assertEqual(dataset_elt.dataset, self.dataset)
-        # Element is still linked to a set that does not exist anymore on the dataset
-        self.assertEqual(dataset_elt.set, "training")
-
-    def test_update_sets_update_single_set(self):
-        """
-        It is possible to rename a single set, if it is not referenced by a ProcessDataset
-        """
-        ProcessDataset.objects.get(process=self.process, dataset=self.dataset, sets=["training", "test", "validation"]).delete()
+    def test_update_sets_forbidden(self):
         self.client.force_login(self.user)
-        self.dataset.dataset_elements.create(element_id=self.page1.id, set="training")
-        self.dataset.dataset_elements.create(element_id=self.page2.id, set="validation")
-        self.dataset.dataset_elements.create(element_id=self.page3.id, set="validation")
-        with self.assertNumQueries(10):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "Shin Seiki Evangelion",
-                    "description": "Omedeto!",
-                    # validation set is renamed to AAAAAAA
-                    "sets": ["test", "training", "AAAAAAA"],
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_200_OK)
-        self.dataset.refresh_from_db()
-        self.assertEqual(self.dataset.state, DatasetState.Open)
-        self.assertEqual(self.dataset.name, "Shin Seiki Evangelion")
-        self.assertEqual(self.dataset.description, "Omedeto!")
-        self.assertListEqual(self.dataset.sets, ["test", "training", "AAAAAAA"])
-        self.assertIsNone(self.dataset.task_id)
-        self.assertQuerysetEqual(
-            self.dataset.dataset_elements.values_list("set", "element__name").order_by("element__name"),
-            [
-                ("training", "Volume 1, page 1r"),
-                ("AAAAAAA", "Volume 1, page 1v"),
-                ("AAAAAAA", "Volume 1, page 2r"),
-            ]
-        )
-
-    def test_update_sets_processdataset_reference(self):
-        """
-        If a dataset's sets are referenced by a ProcessDataset, they cannot be updated
-        """
-        self.client.force_login(self.user)
-        self.dataset.dataset_elements.create(element_id=self.page1.id, set="training")
-        self.dataset.dataset_elements.create(element_id=self.page2.id, set="validation")
-        self.dataset.dataset_elements.create(element_id=self.page3.id, set="validation")
-        with self.assertNumQueries(4):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "Shin Seiki Evangelion",
-                    "description": "Omedeto!",
-                    # validation set is renamed to AAAAAAA
-                    "sets": ["test", "training", "AAAAAAA"],
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertDictEqual(response.json(), {"sets": ["These sets cannot be updated because one or more are selected in a dataset process."]})
-        self.dataset.refresh_from_db()
-        self.assertEqual(self.dataset.state, DatasetState.Open)
-        self.assertEqual(self.dataset.name, "First Dataset")
-        self.assertEqual(self.dataset.description, "dataset number one")
-        self.assertListEqual(self.dataset.sets, ["training", "test", "validation"])
         self.assertIsNone(self.dataset.task_id)
-        self.assertQuerysetEqual(
-            self.dataset.dataset_elements.values_list("set", "element__name").order_by("element__name"),
-            [
-                ("training", "Volume 1, page 1r"),
-                ("validation", "Volume 1, page 1v"),
-                ("validation", "Volume 1, page 2r"),
-            ]
-        )
-
-    def test_update_sets_ambiguous(self):
-        """
-        No more than one set can be updated
-        """
-        # Remove ProcessDataset relation
-        ProcessDataset.objects.get(process=self.process, dataset=self.dataset).delete()
-        self.client.force_login(self.user)
-        with self.assertNumQueries(4):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "Shin Seiki Evangelion",
-                    "description": "Omedeto!",
-                    "sets": ["test", "AAAAAAA", "BBBBBBB"],
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertEqual(response.json(), {"sets": ["Updating those sets is ambiguous because several have changed."]})
-
-    def test_update_sets_length(self):
-        self.client.force_login(self.user)
         with self.assertNumQueries(3):
             response = self.client.put(
                 reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
                 data={
                     "name": "Shin Seiki Evangelion",
                     "description": "Omedeto!",
-                    "sets": []
+                    "set_names": ["unit-01", "unit-02"],
                 },
                 format="json"
             )
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertDictEqual(response.json(), {"sets": ["Either do not specify set names to use the default values, or specify a non-empty list of names."]})
-
-    def test_update_sets_unique_names(self):
-        self.client.force_login(self.user)
-        with self.assertNumQueries(3):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "Shin Seiki Evangelion",
-                    "description": "Omedeto!",
-                    "sets": ["unit-01", "unit-01", "unit-02"]
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertDictEqual(response.json(), {"sets": ["Set names must be unique."]})
-
-    def test_update_sets_name_too_long(self):
-        self.client.force_login(self.user)
-        with self.assertNumQueries(3):
-            response = self.client.put(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "name": "My Dataset",
-                    "description": "My dataset for my experiments.",
-                    "sets": ["unit-00", "Etiam accumsan ullamcorper mauris eget mattis. Ut porttitor."]
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertDictEqual(response.json(), {
-            "sets": {
-                "1": ["Ensure this field has no more than 50 characters."]
-            }
-        })
+        self.assertDictEqual(response.json(), {"set_names": ["This API endpoint does not allow updating a dataset's sets."]})
 
     def test_update_empty_or_blank_description_or_name(self):
         self.client.force_login(self.user)
@@ -696,15 +531,13 @@ class TestDatasetsAPI(FixtureAPITestCase):
                 data={
                     "name": "",
                     "description": "          ",
-                    "sets": "",
                 },
                 format="json"
             )
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
         self.assertDictEqual(response.json(), {
             "name": ["This field may not be blank."],
-            "description": ["This field may not be blank."],
-            "sets": ['Expected a list of items but got type "str".'],
+            "description": ["This field may not be blank."]
         })
 
     def test_update_all_errors(self):
@@ -715,7 +548,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
                 data={
                     "name": "",
                     "description": "          ",
-                    "sets": ["unit-00", "unit-00", "unit-02"]
+                    "set_names": ["unit-00", "unit-00", "unit-02"]
                 },
                 format="json"
             )
@@ -723,7 +556,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
         self.assertDictEqual(response.json(), {
             "name": ["This field may not be blank."],
             "description": ["This field may not be blank."],
-            "sets": ["Set names must be unique."]
+            "set_names": ["This API endpoint does not allow updating a dataset's sets."]
         })
 
     def test_update_state_requires_ponos_auth(self):
@@ -1022,23 +855,6 @@ class TestDatasetsAPI(FixtureAPITestCase):
         self.dataset.refresh_from_db()
         self.assertEqual(self.dataset.state, DatasetState.Open)
 
-    def test_partial_update_sets_name_too_long(self):
-        self.client.force_login(self.user)
-        with self.assertNumQueries(3):
-            response = self.client.patch(
-                reverse("api:dataset-update", kwargs={"pk": self.dataset.pk}),
-                data={
-                    "sets": ["unit-00", "Etiam accumsan ullamcorper mauris eget mattis. Ut porttitor."]
-                },
-                format="json"
-            )
-            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertDictEqual(response.json(), {
-            "sets": {
-                "1": ["Ensure this field has no more than 50 characters."]
-            }
-        })
-
     def test_partial_update_ponos_task_state_forbidden(self):
         """Dataset's state update is limited to specific transitions"""
         op, build, complete, error = [DatasetState[state] for state in ("Open", "Building", "Complete", "Error")]
@@ -1652,6 +1468,8 @@ class TestDatasetsAPI(FixtureAPITestCase):
             [("training", "Volume 1, page 1r")]
         )
 
+    # CreateDatasetElementSelection
+
     def test_add_from_selection_requires_login(self):
         with self.assertNumQueries(0):
             response = self.client.post(reverse("api:dataset-elements-selection", kwargs={"pk": self.corpus.id}))
@@ -1710,8 +1528,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
             response = self.client.post(reverse("api:dataset-elements-selection", kwargs={"pk": self.corpus.id}))
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
         self.assertDictEqual(response.json(), {
-            "dataset_id": ["This field is required."],
-            "set": ["This field is required."],
+            "set_id": ["This field is required."],
         })
 
     def test_add_from_selection_wrong_values(self):
@@ -1719,13 +1536,12 @@ class TestDatasetsAPI(FixtureAPITestCase):
         with self.assertNumQueries(3):
             response = self.client.post(
                 reverse("api:dataset-elements-selection", kwargs={"pk": self.corpus.id}),
-                data={"set": {}, "dataset_id": "AAA"},
+                data={"set_id": "AAA"},
                 format="json",
             )
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
         self.assertDictEqual(response.json(), {
-            "dataset_id": ["“AAA” is not a valid UUID."],
-            "set": ["Not a valid string."],
+            "set_id": ["`AAA` is not a valid UUID."],
         })
 
     def test_add_from_selection_wrong_dataset(self):
@@ -1733,7 +1549,7 @@ class TestDatasetsAPI(FixtureAPITestCase):
         with self.assertNumQueries(4):
             response = self.client.post(
                 reverse("api:dataset-elements-selection", kwargs={"pk": self.corpus.id}),
-                data={"set": "aaa", "dataset_id": self.private_dataset.id},
+                data={"set_id": self.private_dataset_set.id},
                 format="json",
             )
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
@@ -1743,31 +1559,19 @@ class TestDatasetsAPI(FixtureAPITestCase):
 
     def test_add_from_selection_completed_dataset(self):
         """A dataset in the Complete state is immutable"""
+        test_set = self.dataset.sets.first()
         self.client.force_login(self.user)
         self.dataset.state = DatasetState.Complete
         self.dataset.save()
         with self.assertNumQueries(4):
             response = self.client.post(
                 reverse("api:dataset-elements-selection", kwargs={"pk": self.corpus.id}),
-                data={"set": "aaa", "dataset_id": self.dataset.id},
-                format="json",
-            )
-            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
-        self.assertDictEqual(response.json(), {
-            "dataset_id": [f"Dataset {self.dataset.id} is marked as completed."]
-        })
-
-    def test_add_from_selection_wrong_set(self):
-        self.client.force_login(self.user)
-        with self.assertNumQueries(4):
-            response = self.client.post(
-                reverse("api:dataset-elements-selection", kwargs={"pk": self.corpus.id}),
-                data={"set": "aaa", "dataset_id": self.dataset.id},
+                data={"set_id": test_set.id},
                 format="json",
             )
             self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
         self.assertDictEqual(response.json(), {
-            "set": ["This dataset only allows one of training, test, validation."],
+            "set_id": [f"Dataset {self.dataset.id} is marked as completed."]
         })
 
     def test_add_from_selection(self):