diff --git a/src/test/java/org/openepics/names/docker/NamesIT.java b/src/test/java/org/openepics/names/docker/NamesIT.java
index e56715912f60e772d3d747d10ca64b456cca3485..dbd9fb2be13c9f99e8d21f50e89b5f0352a723bb 100644
--- a/src/test/java/org/openepics/names/docker/NamesIT.java
+++ b/src/test/java/org/openepics/names/docker/NamesIT.java
@@ -191,7 +191,7 @@ class NamesIT {
     }
 
     @Test
-    void isLegacyName() {
+    void legacyName() {
         // purpose
         //     test if name is legacy name
         //
@@ -203,9 +203,6 @@ class NamesIT {
         //     delete      delete structures
         //     patch       approve structures
 
-        ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
-        ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.FALSE);
-
         try {
             NameElementCommandCreate nameElementCommandCreate = null;
             NameElementCommandUpdate nameElementCommandUpdate = null;
@@ -225,12 +222,23 @@ class NamesIT {
             assertNotNull(totalCount);
 
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
-            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
             ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.TRUE);
             ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.FALSE);
 
+            ITUtilNameElement.assertIsLegacy("RFQ",                    Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1",               Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertRead("/legacy",             0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=RFQ%",   0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1%", 0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%FS%",   0, 0);
+
             // create
             createdNameElement = ITUtilNameElement.assertCreate(nameElementCommandCreate);
             nameElementCommandUpdate.setUuid(createdNameElement.getUuid());
@@ -241,12 +249,23 @@ class NamesIT {
             assertEquals(totalCount + 1, totalCount2);
 
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
-            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.TRUE);
             ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
 
+            ITUtilNameElement.assertIsLegacy("RFQ",                    Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1",               Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertRead("/legacy",             0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=RFQ%",   0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1%", 0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%FS%",   0, 0);
+
             // delete, approve
             structureElementCommandConfirm = new StructureElementCommandConfirm(
                     subsystemN1U1, Type.SUBSYSTEM, "comment");
@@ -254,12 +273,23 @@ class NamesIT {
             ITUtilStructureElement.assertDelete(structureElementCommandConfirm);
 
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
-            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.TRUE);
             ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
 
+            ITUtilNameElement.assertIsLegacy("RFQ",                    Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1",               Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertRead("/legacy",             0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=RFQ%",   0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1%", 0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%FS%",   0, 0);
+
             ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
             totalCount = ITUtilNameElement.assertRead("").getTotalCount();
@@ -267,11 +297,42 @@ class NamesIT {
             assertEquals(totalCount2, totalCount);
 
             ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
-            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071", Boolean.TRUE);
             ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.FALSE);
             ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.TRUE);
+
+            ITUtilNameElement.assertIsLegacy("RFQ",                    Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1",               Boolean.TRUE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.TRUE);
+            ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertRead("/legacy",             2, 2);
+            ITUtilNameElement.assertRead("/legacy?name=RFQ%",   2, 2);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1",  1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1%", 2, 2);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=%FS%",   0, 0);
+
+            ITUtilNameElement.assertDelete(nameElementCommandConfirm);
+
+            ITUtilNameElement.assertExists("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertIsValidToCreate("RFQ-N1U1:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandCreate,  NameCommand.CREATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandUpdate,  NameCommand.UPDATE, Boolean.FALSE);
+            ITUtilNameElement.assertValidate(nameElementCommandConfirm, NameCommand.DELETE, Boolean.FALSE);
+
+            ITUtilNameElement.assertIsLegacy("RFQ",                    Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1",               Boolean.TRUE);
+            ITUtilNameElement.assertIsLegacy("RFQ-N1U1:EMR-RFA-071",   Boolean.FALSE);
+            ITUtilNameElement.assertIsLegacy("RFQ-010PRL:EMR-RFA-071", Boolean.FALSE);
+            ITUtilNameElement.assertRead("/legacy",             1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=RFQ%",   1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1",  1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=%N1U1%", 1, 1);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%EMR%",  0, 0);
+            ITUtilNameElement.assertRead("/legacy?name=%FS%",   0, 0);
         } catch (Exception e) {
             fail();
         }
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
index a27b27adcb2afe0cebaf1c4aa44acea920dd2862..00819c06081f3a6af21c7791db933299a21b3986 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
@@ -18,6 +18,8 @@
 
 package org.openepics.names.docker.complex;
 
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
 import java.io.File;
 import java.util.UUID;
 
@@ -398,7 +400,7 @@ class StructuresCUDNamesLegacyIT {
     }
 
     @Test
-    void isLegacyNameSystemStructure() {
+    void legacyNameSystemStructure() {
         // purpose
         //     test if name is legacy name
         //
@@ -415,6 +417,10 @@ class StructuresCUDNamesLegacyIT {
         //     delete system
         //     delete system group
 
+        Long legacyTotalCount = ITUtilNameElement.assertRead("/legacy").getTotalCount();
+        assertNotNull(legacyTotalCount);
+        int legacyCount = legacyTotalCount.intValue();
+
         ResponsePageStructureElements responsePage = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
 
@@ -446,6 +452,8 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount, legacyCount);
+
         responsePage = ITUtilStructureElement.assertRead("/SUBSYSTEM?uuid=" + sub132, 1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(responsePage.getList().get(0));
 
@@ -465,6 +473,8 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount, legacyCount);
+
         ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
         ITUtilNameElement.assertIsLegacy("Sg1",   Boolean.FALSE);
@@ -481,6 +491,8 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 1, legacyCount + 1);
+
         responsePage = ITUtilStructureElement.assertRead("/SYSTEM?uuid=" + sys12, 1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(responsePage.getList().get(0));
 
@@ -500,6 +512,8 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 1, legacyCount + 1);
+
         ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
         ITUtilNameElement.assertIsLegacy("Sg1",   Boolean.FALSE);
@@ -516,6 +530,8 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 5, legacyCount + 5);
+
         responsePage = ITUtilStructureElement.assertRead("/SYSTEMGROUP?uuid=" + sg1, 1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(responsePage.getList().get(0));
 
@@ -535,6 +551,8 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 5, legacyCount + 5);
+
         ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
         ITUtilNameElement.assertIsLegacy("Sg1",   Boolean.TRUE);
@@ -550,10 +568,12 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys13-Sub131", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub132", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys13-Sub133", Boolean.TRUE);
+
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 13, legacyCount + 13);
     }
 
     @Test
-    void isLegacyNameSystemStructureDeviceStructureIndex() {
+    void legacyNameSystemStructureDeviceStructureIndex() {
         // purpose
         //     test if name is legacy name
         //
@@ -570,6 +590,10 @@ class StructuresCUDNamesLegacyIT {
         //     delete device group
         //     delete discipline
 
+        Long legacyTotalCount = ITUtilNameElement.assertRead("/legacy").getTotalCount();
+        assertNotNull(legacyTotalCount);
+        int legacyCount = legacyTotalCount.intValue();
+
         ResponsePageStructureElements responsePage = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
 
@@ -593,6 +617,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount, legacyCount);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 0, 0);
+
         responsePage = ITUtilStructureElement.assertRead("/DEVICETYPE?uuid=" + dt232, 1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(responsePage.getList().get(0));
 
@@ -608,6 +635,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.FALSE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount, legacyCount);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 0, 0);
+
         ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
         ITUtilNameElement.assertIsLegacy("Sg2:Di2-Dt211-211", Boolean.FALSE);
@@ -620,6 +650,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 1, legacyCount + 1);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 1, 1);
+
         responsePage = ITUtilStructureElement.assertRead("/DEVICEGROUP?uuid=" + dg22, 1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(responsePage.getList().get(0));
 
@@ -635,6 +668,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 1, legacyCount + 1);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 1, 1);
+
         ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
         ITUtilNameElement.assertIsLegacy("Sg2:Di2-Dt211-211", Boolean.FALSE);
@@ -647,6 +683,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 4, legacyCount + 4);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 4, 4);
+
         responsePage = ITUtilStructureElement.assertRead("/DISCIPLINE?uuid=" + di2, 1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(responsePage.getList().get(0));
 
@@ -662,6 +701,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.FALSE);
 
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 4, legacyCount + 4);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 4, 4);
+
         ITUtilStructureElement.assertApprove(structureElementCommandConfirm);
 
         ITUtilNameElement.assertIsLegacy("Sg2:Di2-Dt211-211", Boolean.TRUE);
@@ -673,6 +715,9 @@ class StructuresCUDNamesLegacyIT {
         ITUtilNameElement.assertIsLegacy("Sys23-Sub231:Di2-Dt231-231", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub232:Di2-Dt232-232", Boolean.TRUE);
         ITUtilNameElement.assertIsLegacy("Sys23-Sub233:Di2-Dt233-233", Boolean.TRUE);
+
+        ITUtilNameElement.assertRead("/legacy", legacyCount + 9, legacyCount + 9);
+        ITUtilNameElement.assertRead("/legacy?name=%D%", 9, 9);
     }
 
 }