diff --git a/src/main/java/org/openepics/names/rest/api/v1/INames.java b/src/main/java/org/openepics/names/rest/api/v1/INames.java
index 42308ac6d69bb9f436441b022184cfa29eea5e7b..ddc6d88965de367bff59262b6745a37ef91a1573 100644
--- a/src/main/java/org/openepics/names/rest/api/v1/INames.java
+++ b/src/main/java/org/openepics/names/rest/api/v1/INames.java
@@ -112,8 +112,8 @@ public interface INames {
                    user          - create, update, delete
                  ( administrator )
            default for read is to have lifecycle attributes unless query for specific resource or specific use case
-               status, latest, deleted
-               note - status not applicable as all entries have APPROVED status, latest handled by history
+               latest, deleted
+               note - latest handled by history
      */
 
     public static final String DEFAULT_PAGE            = "0";
diff --git a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java
index 2198d98e17deb0ba90fc34929227794e19f47cb3..5a5def29dba5b2b114d0d18674e87176244aa409 100644
--- a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java
+++ b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java
@@ -21,7 +21,6 @@ package org.openepics.names.rest.api.v1;
 import java.util.List;
 
 import org.openepics.names.rest.beans.FieldStructure;
-import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommandConfirm;
@@ -113,7 +112,7 @@ public interface IStructures {
                  ( user )
                    administrator - create, update, delete
            default for read is to have lifecycle attributes unless query for specific resource or specific use case
-               status, latest, deleted
+               latest, deleted
                note - latest handled by history
            mnemonic path for structure includes all levels of mnemonics
      */
@@ -210,10 +209,9 @@ public interface IStructures {
     /**
      * Find valid structures (search).
      * Return list of structure elements.
-     * Use statuses (APPROVED) and deleted (false) to query for active structures.
+     * Use deleted (false) to query for active structures.
      *
      * @param type type of structure
-     * @param statuses statuses for structures
      * @param deleted if deleted structures are to be selected or not, omitted for both deleted and non-deleted structures
      * (true for deleted structures, false for non-deleted structures, omitted for both deleted and non-deleted structures)
      * @param parent parent uuid
@@ -233,7 +231,7 @@ public interface IStructures {
                           Find valid structures (search).
                           Return array of structure elements.
 
-                          Use statuses (APPROVED) and deleted (false) to query for active structures.
+                          Use deleted (false) to query for active structures.
                           """
     )
     @ApiResponses(value = {
@@ -266,7 +264,6 @@ public interface IStructures {
             produces = {"application/json"})
     public ResponsePageStructureElements readStructures(
             @Parameter(in = ParameterIn.QUERY, description = "search by type of structure") @RequestParam(required = false) Type type,
-            @Parameter(in = ParameterIn.QUERY, description = "search by statuses") @RequestParam(required = false) Status[] statuses,
             @Parameter(in = ParameterIn.QUERY, description = "if deleted structures are to be selected or not, omitted for both deleted and non-deleted structures") @RequestParam(required = false) Boolean deleted,
             @Parameter(in = ParameterIn.QUERY, description = "search by parent uuid") @RequestParam(required = false) String parent,
             @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic") @RequestParam(required = false) String mnemonic,
@@ -333,10 +330,9 @@ public interface IStructures {
     /**
      * Find valid children structures by parent uuid (exact match).
      * Return list of structure elements.
-     * Use statuses (APPROVED) and deleted (false) to query for active structures.
+     * Use deleted (false) to query for active structures.
      *
      * @param uuid uuid
-     * @param statuses statuses for structures
      * @param deleted if deleted structures are to be selected or not, omitted for both deleted and non-deleted structures
      * (true for deleted structures, false for non-deleted structures, omitted for both deleted and non-deleted structures)
      * @param orderBy order by field
@@ -351,7 +347,7 @@ public interface IStructures {
                           Find valid children structures by parent uuid (exact match).
                           Return array of structure elements.
 
-                          Use statuses (APPROVED) and deleted (false) to query for active structures.
+                          Use deleted (false) to query for active structures.
                           """
     )
     @ApiResponses(value = {
@@ -391,7 +387,6 @@ public interface IStructures {
             produces = {"application/json"})
     public ResponseEntity<ResponsePageStructureElements> readStructuresChildren(
             @Parameter(in = ParameterIn.PATH,  description = "find by uuid") @PathVariable("uuid") String uuid,
-            @Parameter(in = ParameterIn.QUERY, description = "search by statuses") @RequestParam(required = false) Status[] statuses,
             @Parameter(in = ParameterIn.QUERY, description = "if deleted structures are to be selected or not, omitted for both deleted and non-deleted structures", required = false) @RequestParam(required = false) Boolean deleted,
             @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldStructure orderBy,
             @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc,
diff --git a/src/main/java/org/openepics/names/rest/controller/StructuresController.java b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
index a6ffcff9427a6d1ee7f6cbb992da462194287c02..93317610f7fab576adaae25f4c498991c0ded375 100644
--- a/src/main/java/org/openepics/names/rest/controller/StructuresController.java
+++ b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
@@ -25,7 +25,6 @@ import java.util.logging.Logger;
 import org.openepics.names.exception.ServiceException;
 import org.openepics.names.rest.api.v1.IStructures;
 import org.openepics.names.rest.beans.FieldStructure;
-import org.openepics.names.rest.beans.Status;
 import org.openepics.names.rest.beans.Type;
 import org.openepics.names.rest.beans.element.StructureElement;
 import org.openepics.names.rest.beans.element.StructureElementCommand;
@@ -101,17 +100,17 @@ public class StructuresController implements IStructures {
     // ----------------------------------------------------------------------------------------------------
 
     @Override
-    public ResponsePageStructureElements readStructures(Type type, Status[] statuses, Boolean deleted,
+    public ResponsePageStructureElements readStructures(Type type, Boolean deleted,
             String parent, String mnemonic, String mnemonicPath, String description, String who,
             FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) {
         // validate
         // read structures
 
         try {
-            ValidateStructureElementUtil.validateStructuresInputRead(type, statuses, deleted,
+            ValidateStructureElementUtil.validateStructuresInputRead(type, null, deleted,
                     null, parent, mnemonic, mnemonicPath, description, who,
                     null, orderBy, isAsc, page, pageSize);
-            return structuresService.readStructures(type, statuses, deleted,
+            return structuresService.readStructures(type, null, deleted,
                     null, parent, mnemonic, mnemonicPath, description, who,
                     orderBy, isAsc, page, pageSize);
         } catch (ServiceException e) {
@@ -158,14 +157,14 @@ public class StructuresController implements IStructures {
     }
 
     @Override
-    public ResponseEntity<ResponsePageStructureElements> readStructuresChildren(String uuid, Status[] statuses, Boolean deleted,
+    public ResponseEntity<ResponsePageStructureElements> readStructuresChildren(String uuid, Boolean deleted,
             FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) {
         // validate
         // read structures
 
         try {
             ValidateUtil.validateInputUuid(uuid);
-            ResponsePageStructureElements structureElements = structuresService.readStructuresChildren(uuid, statuses, deleted,
+            ResponsePageStructureElements structureElements = structuresService.readStructuresChildren(uuid, null, deleted,
                     orderBy, isAsc, page, pageSize);
 
             HttpStatus status = null;
diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
index bd15d32b96ede1c2af550e90418e1c42c52c7794..6286303a3e49ba77f5e52e34dbc9162caa0d50f4 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
@@ -516,14 +516,11 @@ class StructuresDeviceGroupIT {
     }
 
     @Test
-    void readSearchHistoryStatus() {
-        // test read device group in various ways for create
-        //     search
-        //     latest
-        //     history
+    void readSearch() {
+        // test read device group in various ways
         //
         // note
-        //     create (and more) to read (with content)
+        //     create in order to read
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElement structureElement  = null;
@@ -534,28 +531,28 @@ class StructuresDeviceGroupIT {
         // read (1)
         count = ITUtilStructures.assertRead("?type=DEVICEGROUP").getListSize();
 
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED",                        0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rshs",          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rshs",           0);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP",                                           0, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonic=Rshs",                             0);
 
         ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
         ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=false",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=true",                              0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=false",                              1, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=true",                               0, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
@@ -565,30 +562,30 @@ class StructuresDeviceGroupIT {
         // read (2)
         assertEquals(count + 1, ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).getListSize());
 
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED",                         1, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED",                        0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rshs",          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rshs",           0);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP",                                           1, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonic=Rshs",                             0);
 
         ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
         ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=false",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=true",                              0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=false",                              1, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=true",                               0, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
@@ -596,18 +593,12 @@ class StructuresDeviceGroupIT {
     }
 
     @Test
-    void readSearchHistoryStatusLatest9() {
-        // test read device type in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
+    void readSearch2Trees() {
+        // test read device group in various ways
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     2 different lines  of uuid with combinations of status and latest
+        //     create in order to read
+        //     2 different lines  of uuid with combinations of values
         //         9 entries for each line of uuid
         //         no mnemonic
         //
@@ -620,7 +611,7 @@ class StructuresDeviceGroupIT {
         StructureElement structureElement = null;
         UUID uuid, uuid2 = null;
 
-        // a number of entries for which the last entry has status PENDING
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description no mnemonic 1");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -643,7 +634,7 @@ class StructuresDeviceGroupIT {
         structureElementCommandUpdate.setDescription("description no mnemonic 1 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        // a number of entries for which the last entry has status CANCELLED
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 2, "description no mnemonic 2");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -674,9 +665,12 @@ class StructuresDeviceGroupIT {
         ITUtilStructures.assertFind("/" + uuid2.toString());
 
         ITUtilStructures.assertRead("?mnemonic=Ab",                                  0);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=false",                    0);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=true",                     0);
+
         ITUtilStructures.assertRead("?mnemonic=A9",                                  0);
-        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  0);
-        ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  0);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=false",                    0);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=true",                     0);
 
         ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
         ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
@@ -687,18 +681,11 @@ class StructuresDeviceGroupIT {
     }
 
     @Test
-    void readSearchStatusDeletedChildren() {
+    void readSearchMultipleTrees() {
         // test read device group in various ways
-        //     status
-        //   ( latest )
-        //     deleted
-        //     children
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     querying for Status.APPROVED means latest approved
+        //     create in order to read
         //     multiple commands at same time may have effects on order by (when)
         //
         //     exclude content (with latest) before latest
@@ -846,7 +833,7 @@ class StructuresDeviceGroupIT {
 
         // read & search
         //     /{uuid}
-        //     type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
+        //     type, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
         //     combination
         //     pagination
         //         page, pageSize
@@ -859,25 +846,9 @@ class StructuresDeviceGroupIT {
         //             first and last items                         -    not always possible
 
         ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2",                                                         30);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&mnemonicPath=Di2",                                         0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonicPath=Di2",                                       30);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonicPath=Di2",                                       0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonicPath=Di2",                                        0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2",                      30);
 
         ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&mnemonicPath=Di2",                                           15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&statuses=PENDING&mnemonicPath=Di2",                           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&statuses=APPROVED&mnemonicPath=Di2",                         15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&statuses=CANCELLED&mnemonicPath=Di2",                         0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&statuses=REJECTED&mnemonicPath=Di2",                          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2",        15);
-
         ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&mnemonicPath=Di2",                                            15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&statuses=PENDING&mnemonicPath=Di2",                            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&statuses=APPROVED&mnemonicPath=Di2",                          15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&statuses=CANCELLED&mnemonicPath=Di2",                          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&statuses=REJECTED&mnemonicPath=Di2",                           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2",         15);
 
         ITUtilStructures.assertRead("?type=DEVICEGROUP&parent=" + discipline2Uuid.toString(),                                     30, -1);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&parent=" + uuid.toString(),                                                 0);
@@ -967,10 +938,10 @@ class StructuresDeviceGroupIT {
         ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=3&pageSize=12",                                       0);
 
         // pagination
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=0&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=1&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=2&pageSize=12",    6);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=3&pageSize=12",    0);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=0&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=1&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=2&pageSize=12",                                       6);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=3&pageSize=12",                                       0);
 
         // order by, pagination
         response  = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
@@ -989,19 +960,12 @@ class StructuresDeviceGroupIT {
 
         // children
         //     /children/{uuid}
-        //     uuid, statuses, deleted
+        //     uuid, deleted
         ITUtilStructures.assertRead("/children/" + uuid.toString(),                                                                0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + uuid2.toString(),                                                               0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString(),                                                    15, -1);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=APPROVED",                             15, -1);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=ARCHIVED",                              0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=CANCELLED",                             0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=PENDING",                               0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=REJECTED",                              0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=CANCELLED,PENDING",                     0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=APPROVED,PENDING",                     15, -1);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=APPROVED&deleted=false",                9, -1);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=APPROVED&deleted=true",                 5, -1);
+        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?deleted=false",                                  9, -1);
+        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?deleted=true",                                   5, -1);
 
         // mnemonic
         //     ?mnemonic={mnemonic}
@@ -1010,11 +974,11 @@ class StructuresDeviceGroupIT {
         ITUtilStructures.assertRead("?mnemonic=AE_",                                                                               0);
         ITUtilStructures.assertRead("?mnemonic=AE1",                                                                               0);
         ITUtilStructures.assertRead("?mnemonic=Di2",                                                                               1);
-        ITUtilStructures.assertRead("?mnemonic=A&statuses=APPROVED&deleted=false",                                                 0);
-        ITUtilStructures.assertRead("?mnemonic=A__&statuses=APPROVED&deleted=false",                                               0);
-        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                               0);
-        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                               0);
-        ITUtilStructures.assertRead("?mnemonic=Di2&statuses=APPROVED&deleted=false",                                               1);
+        ITUtilStructures.assertRead("?mnemonic=A&deleted=false",                                                                   0);
+        ITUtilStructures.assertRead("?mnemonic=A__&deleted=false",                                                                 0);
+        ITUtilStructures.assertRead("?mnemonic=AE_&deleted=false",                                                                 0);
+        ITUtilStructures.assertRead("?mnemonic=AE1&deleted=false",                                                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Di2&deleted=false",                                                                 1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
@@ -1023,11 +987,11 @@ class StructuresDeviceGroupIT {
         ITUtilStructures.assertRead("?mnemonicPath=D__",                                                                          16, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Di_",                                                                          16, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Di2",                                                                          31);
-        ITUtilStructures.assertRead("?mnemonicPath=D&statuses=APPROVED&deleted=false",                                             0);
-        ITUtilStructures.assertRead("?mnemonicPath=D%&statuses=APPROVED&deleted=false",                                           17, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=D__&statuses=APPROVED&deleted=false",                                          16, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di_&statuses=APPROVED&deleted=false",                                          16, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di2&statuses=APPROVED&deleted=false",                                          16);
+        ITUtilStructures.assertRead("?mnemonicPath=D&deleted=false",                                                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=D%&deleted=false",                                                             17, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=D__&deleted=false",                                                            16, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di_&deleted=false",                                                            16, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di2&deleted=false",                                                            16);
 
         // history
         //     /history/{uuid}
diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
index 12273d3555638a225eeb7ed17f899b7c3dba7b35..a512138db27f4d3de7ce105ddb6c466158ff7baf 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
@@ -520,14 +520,11 @@ class StructuresDeviceTypeIT {
     }
 
     @Test
-    void readSearchHistoryStatus() {
-        // test read device type in various ways for create
-        //     search
-        //     latest
-        //     history
+    void readSearch() {
+        // test read device type in various ways
         //
         // note
-        //     create (and more) to read (with content)
+        //     create in order to read
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElement structureElement  = null;
@@ -538,28 +535,28 @@ class StructuresDeviceTypeIT {
         // read (1)
         count = ITUtilStructures.assertRead("?type=DEVICETYPE").getListSize();
 
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING",                           0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&mnemonic=Rshs",             0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rshs",            0);
+        ITUtilStructures.assertRead("?type=DEVICETYPE",                                            0, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=Rshs",                              0);
 
         ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
         ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=false",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=true",                              0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=false",                              1, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshs",    Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshs", Boolean.FALSE);
@@ -570,30 +567,30 @@ class StructuresDeviceTypeIT {
         // read (2)
         assertEquals(count + 1, ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).getListSize());
 
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING",                           0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED",                          1, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&mnemonic=Rshs",             0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rshs",            1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rshs",            0);
+        ITUtilStructures.assertRead("?type=DEVICETYPE",                                            1, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=Rshs",                              1);
 
         ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
         ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                1);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=false",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&deleted=true",                              0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=false",                              1, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=false",                         1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
@@ -602,18 +599,12 @@ class StructuresDeviceTypeIT {
     }
 
     @Test
-    void readSearchHistoryStatusLatest9() {
+    void readSearch2Trees() {
         // test read device type in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     2 different lines  of uuid with combinations of status and latest
+        //     create in order to read
+        //     2 different lines  of uuid with combinations of values
         //         9 entries for each line of uuid
         //         mnemonic - Ab, A9
         //
@@ -626,7 +617,7 @@ class StructuresDeviceTypeIT {
         StructureElement structureElement = null;
         UUID uuid, uuid2 = null;
 
-        // a number of entries for which the last entry has status PENDING
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Ab", null, "description mnemonic Ab");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -649,7 +640,7 @@ class StructuresDeviceTypeIT {
         structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        // a number of entries for which the last entry has status CANCELLED
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "A9", 2, "description mnemonic A9");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -680,9 +671,12 @@ class StructuresDeviceTypeIT {
         ITUtilStructures.assertFind("/" + uuid2.toString());
 
         ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=true",                     0);
+
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=true",                     0);
 
         ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
         ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
@@ -694,18 +688,11 @@ class StructuresDeviceTypeIT {
     }
 
     @Test
-    void readSearchStatusDeletedChildren() {
+    void readSearchMultipleTrees() {
         // test read device type in various ways
-        //     status
-        //   ( latest )
-        //     deleted
-        //     children
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     querying for Status.APPROVED means latest approved
+        //     create in order to read
         //     multiple commands at same time may have effects on order by (when)
         //
         //     exclude content (with latest) before latest
@@ -853,7 +840,7 @@ class StructuresDeviceTypeIT {
 
         // read & search
         //     /{uuid}
-        //     type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
+        //     type, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
         //     combination
         //     pagination
         //         page, pageSize
@@ -866,25 +853,9 @@ class StructuresDeviceTypeIT {
         //             first and last items                         -    not always possible
 
         ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__",                                                         30);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&mnemonic=A__",                                         0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=A__",                                       30);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=A__",                                       0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=A__",                                        0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      30);
 
         ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&mnemonic=A__",                                           15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=PENDING&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=APPROVED&mnemonic=A__",                         15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=CANCELLED&mnemonic=A__",                         0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=REJECTED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        15);
-
         ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&mnemonic=A__",                                            15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&statuses=PENDING&mnemonic=A__",                            0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&statuses=APPROVED&mnemonic=A__",                          15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&statuses=CANCELLED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&statuses=REJECTED&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__",         15);
 
         ITUtilStructures.assertRead("?type=DEVICETYPE&parent=" + disciplineUuid.toString(),                                   0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&parent=" + deviceGroupUuid.toString(),                                 30, -1);
@@ -979,10 +950,10 @@ class StructuresDeviceTypeIT {
         ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // pagination
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=12",    6);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=12",    0);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=0&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=1&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=2&pageSize=12",                                       6);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // order by, pagination
         response  = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
@@ -1002,19 +973,12 @@ class StructuresDeviceTypeIT {
 
         // children
         //     /children/{uuid}
-        //     uuid, statuses, deleted
+        //     uuid, deleted
         ITUtilStructures.assertRead("/children/" + uuid.toString(),                                                           0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + uuid2.toString(),                                                          0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString(),                                               15, -1);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=APPROVED",                        15, -1);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=ARCHIVED",                         0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=CANCELLED",                        0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=PENDING",                          0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=REJECTED",                         0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=CANCELLED,PENDING",                0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=APPROVED,PENDING",                15, -1);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=APPROVED&deleted=false",           9, -1);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=APPROVED&deleted=true",            5, -1);
+        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?deleted=false",                             9, -1);
+        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?deleted=true",                              5, -1);
         ITUtilStructures.assertRead("/children/" + disciplineUuid.toString(),                                                 1);
 
         // mnemonic
@@ -1024,11 +988,11 @@ class StructuresDeviceTypeIT {
         ITUtilStructures.assertRead("?mnemonic=AE_",                                                                          5);
         ITUtilStructures.assertRead("?mnemonic=AE1",                                                                          1);
         ITUtilStructures.assertRead("?mnemonic=Di",                                                                           1);
-        ITUtilStructures.assertRead("?mnemonic=A&statuses=APPROVED&deleted=false",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=A__&statuses=APPROVED&deleted=false",                                         15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                          5);
-        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                          1);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                                           1);
+        ITUtilStructures.assertRead("?mnemonic=A&deleted=false",                                                              0);
+        ITUtilStructures.assertRead("?mnemonic=A__&deleted=false",                                                           15, -1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&deleted=false",                                                            5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&deleted=false",                                                            1);
+        ITUtilStructures.assertRead("?mnemonic=Di&deleted=false",                                                             1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
@@ -1041,15 +1005,15 @@ class StructuresDeviceTypeIT {
         ITUtilStructures.assertRead("?mnemonicPath=Di-A__",                                                                  15, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Di-AE_",                                                                   5);
         ITUtilStructures.assertRead("?mnemonicPath=Di-AE1",                                                                   1);
-        ITUtilStructures.assertRead("?mnemonicPath=A&statuses=APPROVED&deleted=false",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=A__&statuses=APPROVED&deleted=false",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-A%&statuses=APPROVED&deleted=false",                                   15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-A&statuses=APPROVED&deleted=false",                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-A__&statuses=APPROVED&deleted=false",                                  15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-AE_&statuses=APPROVED&deleted=false",                                   5);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-AE1&statuses=APPROVED&deleted=false",                                   1);
+        ITUtilStructures.assertRead("?mnemonicPath=A&deleted=false",                                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=A__&deleted=false",                                                        0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&deleted=false",                                                        0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&deleted=false",                                                        0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-A%&deleted=false",                                                     15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-A&deleted=false",                                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-A__&deleted=false",                                                    15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-AE_&deleted=false",                                                     5);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-AE1&deleted=false",                                                     1);
 
         // history
         //     /history/{uuid}
diff --git a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
index 8b9e4761d5a8029d056f3cf3d76be413f6e7e310..510df00a0860f20b058cbddff05a6f5dd7eed62c 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
@@ -444,14 +444,11 @@ class StructuresDisciplineIT {
     }
 
     @Test
-    void readSearchHistoryStatus() {
-        // test read discipline in various ways for create
-        //     search
-        //     latest
-        //     history
+    void readSearch() {
+        // test read discipline in various ways
         //
         // note
-        //     create (and more) to read (with content)
+        //     create in order to read
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElement structureElement  = null;
@@ -462,20 +459,16 @@ class StructuresDisciplineIT {
         // read (1)
         count = ITUtilStructures.assertRead("?type=DISCIPLINE").getListSize();
 
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING",                           0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&mnemonic=Rshs",             0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rshs",            0);
+        ITUtilStructures.assertRead("?type=DISCIPLINE",                                            0, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=Rshs",                              0);
 
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshs", Boolean.FALSE);
 
@@ -485,22 +478,18 @@ class StructuresDisciplineIT {
         // read (2)
         assertEquals(count + 1, ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).getListSize());
 
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING",                           0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED",                          1, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED",                         0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&mnemonic=Rshs",             0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rshs",            1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rshs",            0);
+        ITUtilStructures.assertRead("?type=DISCIPLINE",                                            1, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=Rshs",                              1);
 
         ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
 
         ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
@@ -508,18 +497,12 @@ class StructuresDisciplineIT {
     }
 
     @Test
-    void readSearchHistoryStatusLatest9() {
+    void readSearch2Trees() {
         // test read discipline in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     2 different lines  of uuid with combinations of status and latest
+        //     create in order to read
+        //     2 different lines  of uuid with combinations of values
         //         9 entries for each line of uuid
         //         mnemonic - Ab, A9
         //
@@ -532,7 +515,7 @@ class StructuresDisciplineIT {
         StructureElement structureElement = null;
         UUID uuid, uuid2 = null;
 
-        // a number of entries for which the last entry has status PENDING
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Ab", null, "description mnemonic Ab");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -555,7 +538,7 @@ class StructuresDisciplineIT {
         structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        // a number of entries for which the last entry has status CANCELLED
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "A9", 2, "description mnemonic A9");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -586,9 +569,12 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertFind("/" + uuid2.toString());
 
         ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=true",                     0);
+
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=true",                     0);
 
         ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
         ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
@@ -598,18 +584,11 @@ class StructuresDisciplineIT {
     }
 
     @Test
-    void readSearchStatusDeletedChildren() {
+    void readSearchMultipleTrees() {
         // test read discipline in various ways
-        //     status
-        //   ( latest )
-        //     deleted
-        //     children
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     querying for Status.APPROVED means latest approved
+        //     create in order to read
         //     multiple commands at same time may have effects on order by (when)
         //
         //     exclude content (with latest) before latest
@@ -757,7 +736,7 @@ class StructuresDisciplineIT {
 
         // read & search
         //     /{uuid}
-        //     type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
+        //     type, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
         //     combination
         //     pagination
         //         page, pageSize
@@ -770,25 +749,9 @@ class StructuresDisciplineIT {
         //             first and last items                         -    not always possible
 
         ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__",                                                         30);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&mnemonic=A__",                                         0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=A__",                                       30);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=A__",                                       0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=A__",                                        0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      30);
 
         ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&mnemonic=A__",                                           15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=PENDING&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=APPROVED&mnemonic=A__",                         15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=CANCELLED&mnemonic=A__",                         0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=REJECTED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        15);
-
         ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&mnemonic=A__",                                            15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&statuses=PENDING&mnemonic=A__",                            0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&statuses=APPROVED&mnemonic=A__",                          15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&statuses=CANCELLED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&statuses=REJECTED&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__",         15);
 
         ITUtilStructures.assertRead("?type=DISCIPLINE&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&parent=" + uuid2.toString(),                                            0);
@@ -881,10 +844,10 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // pagination
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=12",    6);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=12",    0);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=0&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=1&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=2&pageSize=12",                                       6);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // order by, pagination
         response  = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
@@ -902,7 +865,7 @@ class StructuresDisciplineIT {
 
         // children
         //     /children/{uuid}
-        //     uuid, statuses, deleted
+        //     uuid, deleted
         ITUtilStructures.assertRead("/children/" + uuid.toString(),                                                           0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + uuid2.toString(),                                                          0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
 
@@ -912,10 +875,10 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertRead("?mnemonic=A__",                                                                         15, -1);
         ITUtilStructures.assertRead("?mnemonic=AE_",                                                                          5);
         ITUtilStructures.assertRead("?mnemonic=AE1",                                                                          1);
-        ITUtilStructures.assertRead("?mnemonic=A&statuses=APPROVED&deleted=false",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=A__&statuses=APPROVED&deleted=false",                                         15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                          5);
-        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                          1);
+        ITUtilStructures.assertRead("?mnemonic=A&deleted=false",                                                              0);
+        ITUtilStructures.assertRead("?mnemonic=A__&deleted=false",                                                           15, -1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&deleted=false",                                                            5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&deleted=false",                                                            1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
@@ -923,10 +886,10 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                     15, -1);
         ITUtilStructures.assertRead("?mnemonicPath=AE_",                                                                      5);
         ITUtilStructures.assertRead("?mnemonicPath=AE1",                                                                      1);
-        ITUtilStructures.assertRead("?mnemonicPath=A&statuses=APPROVED&deleted=false",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=A__&statuses=APPROVED&deleted=false",                                     15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                      5);
-        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                      1);
+        ITUtilStructures.assertRead("?mnemonicPath=A&deleted=false",                                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=A__&deleted=false",                                                       15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&deleted=false",                                                        5);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&deleted=false",                                                        1);
 
         // history
         //     /history/{uuid}
diff --git a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
index d3bde8fdc0b77be2c940108973ec54b0544aacd6..eb3c04b4a20b8767d8b471b4d11c960be29681bb 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
@@ -516,14 +516,11 @@ class StructuresSubsystemIT {
     }
 
     @Test
-    void readSearchHistoryStatus() {
-        // test read subsystem in various ways for create
-        //     search
-        //     latest
-        //     history
+    void readSearch() {
+        // test read subsystem in various ways
         //
         // note
-        //     create (and more) to read (with content)
+        //     create in order to read
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElement structureElement  = null;
@@ -534,14 +531,8 @@ class StructuresSubsystemIT {
         // read (1)
         count = ITUtilStructures.assertRead("?type=SUBSYSTEM").getListSize();
 
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING",                            0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED",                           0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED",                          0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED",                           0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&mnemonic=Rshs",              0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rshs",             0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rshs",             0);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM",                                             0, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=Rshs",                               0);
 
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Sys",                                               1);
@@ -549,12 +540,18 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                            0);
         ITUtilStructures.assertRead("?mnemonic=Sys-Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Sys&statuses=APPROVED&deleted=false",               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Sys&deleted=false",                                 1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&deleted=false",                              0);
+        ITUtilStructures.assertRead("?mnemonic=Sys-Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Sys&deleted=true",                                  0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonic=Sys-Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
         ITUtilStructures.assertRead("?mnemonicPath=Sys",                                           1);
@@ -562,12 +559,18 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                        0);
         ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs",                                      0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs",                                   0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys&statuses=APPROVED&deleted=false",           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&statuses=APPROVED&deleted=false",      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&statuses=APPROVED&deleted=false",   0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=false",                              1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys&deleted=false",                             1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&deleted=false",                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&deleted=false",                        0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&deleted=false",                     0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys&deleted=true",                              0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&deleted=true",                           0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&deleted=true",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&deleted=true",                      0);
 
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshs",        Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshs",    Boolean.FALSE);
@@ -579,14 +582,8 @@ class StructuresSubsystemIT {
         // read (2)
         assertEquals(count + 1, ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).getListSize());
 
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING",                            0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED",                           1, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED",                          0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED",                           0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&mnemonic=Rshs",              0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rshs",             1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rshs",             0);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM",                                             1, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=Rshs",                               1);
 
         ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
@@ -596,12 +593,18 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                            0);
         ITUtilStructures.assertRead("?mnemonic=Sys-Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Sys&statuses=APPROVED&deleted=false",               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Sys&deleted=false",                                 1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                1);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&deleted=false",                              0);
+        ITUtilStructures.assertRead("?mnemonic=Sys-Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Sys&deleted=true",                                  0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonic=Sys-Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
         ITUtilStructures.assertRead("?mnemonicPath=Sys",                                           1);
@@ -609,12 +612,18 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                        0);
         ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs",                                      1);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs",                                   0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys&statuses=APPROVED&deleted=false",           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&statuses=APPROVED&deleted=false",      1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&statuses=APPROVED&deleted=false",   0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=false",                              1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys&deleted=false",                             1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&deleted=false",                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&deleted=false",                        1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&deleted=false",                     0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys&deleted=true",                              0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&deleted=true",                           0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&deleted=true",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&deleted=true",                      0);
 
         ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
@@ -624,18 +633,12 @@ class StructuresSubsystemIT {
     }
 
     @Test
-    void readSearchHistoryStatusLatest9() {
+    void readSearch2Trees() {
         // test read subsystem in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     2 different lines  of uuid with combinations of status and latest
+        //     create in order to read
+        //     2 different lines  of uuid with combinations of values
         //         9 entries for each line of uuid
         //         mnemonic - Ab, A9
         //
@@ -648,7 +651,7 @@ class StructuresSubsystemIT {
         StructureElement structureElement = null;
         UUID uuid, uuid2 = null;
 
-        // a number of entries for which the last entry has status PENDING
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Ab", null, "description mnemonic Ab");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -671,7 +674,7 @@ class StructuresSubsystemIT {
         structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        // a number of entries for which the last entry has status CANCELLED
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "A9", 2, "description mnemonic A9");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -702,9 +705,12 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertFind("/" + uuid2.toString());
 
         ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=true",                     0);
+
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=true",                     0);
 
         ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
         ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
@@ -718,18 +724,11 @@ class StructuresSubsystemIT {
     }
 
     @Test
-    void readSearchStatusDeletedChildren() {
+    void readSearchMultipleTrees() {
         // test read subsystem in various ways
-        //     status
-        //   ( latest )
-        //     deleted
-        //     children
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     querying for Status.APPROVED means latest approved
+        //     create in order to read
         //     multiple commands at same time may have effects on order by (when)
         //
         //     exclude content (with latest) before latest
@@ -877,7 +876,7 @@ class StructuresSubsystemIT {
 
         // read & search
         //     /{uuid}
-        //     type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
+        //     type, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
         //     combination
         //     pagination
         //         page, pageSize
@@ -890,25 +889,9 @@ class StructuresSubsystemIT {
         //             first and last items                         -    not always possible
 
         ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__",                                                         30);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&mnemonic=A__",                                         0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=A__",                                       30);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=A__",                                       0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=A__",                                        0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      30);
 
         ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&mnemonic=A__",                                           15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=PENDING&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=APPROVED&mnemonic=A__",                         15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=CANCELLED&mnemonic=A__",                         0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=REJECTED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        15);
-
         ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&mnemonic=A__",                                            15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&statuses=PENDING&mnemonic=A__",                            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&statuses=APPROVED&mnemonic=A__",                          15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&statuses=CANCELLED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&statuses=REJECTED&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__",         15);
 
         ITUtilStructures.assertRead("?type=SUBSYSTEM&parent=" + systemGroupUuid.toString(),                                  0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&parent=" + systemUuid.toString(),                                      30, -1);
@@ -1003,10 +986,10 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // pagination
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=12",    6);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=12",    0);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=0&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=1&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=2&pageSize=12",                                       6);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // order by, pagination
         response  = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
@@ -1026,19 +1009,12 @@ class StructuresSubsystemIT {
 
         // children
         //     /children/{uuid}
-        //     uuid, statuses, deleted
+        //     uuid, deleted
         ITUtilStructures.assertRead("/children/" + uuid.toString(),                                                          0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + uuid2.toString(),                                                         0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + systemUuid.toString(),                                                   15, -1);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=APPROVED",                            15, -1);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=ARCHIVED",                             0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=CANCELLED",                            0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=PENDING",                              0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=REJECTED",                             0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=CANCELLED,PENDING",                    0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=APPROVED,PENDING",                    15, -1);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=APPROVED&deleted=false",               9, -1);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=APPROVED&deleted=true",                5, -1);
+        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?deleted=false",                                 9, -1);
+        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?deleted=true",                                  5, -1);
         ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString(),                                               1);
 
         // mnemonic
@@ -1048,11 +1024,11 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?mnemonic=AE_",                                                                         5);
         ITUtilStructures.assertRead("?mnemonic=AE1",                                                                         1);
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                                          1);
-        ITUtilStructures.assertRead("?mnemonic=A&statuses=APPROVED&deleted=false",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=A__&statuses=APPROVED&deleted=false",                                        15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                         5);
-        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                         1);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                                          1);
+        ITUtilStructures.assertRead("?mnemonic=A&deleted=false",                                                             0);
+        ITUtilStructures.assertRead("?mnemonic=A__&deleted=false",                                                          15, -1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&deleted=false",                                                           5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&deleted=false",                                                           1);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=false",                                                            1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
@@ -1075,25 +1051,25 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys__",                                                                0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys_",                                                                 0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=A&statuses=APPROVED&deleted=false",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=A__&statuses=APPROVED&deleted=false",                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-A%&statuses=APPROVED&deleted=false",                                 15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-A&statuses=APPROVED&deleted=false",                                   0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-A__&statuses=APPROVED&deleted=false",                                15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-AE_&statuses=APPROVED&deleted=false",                                 5);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-AE1&statuses=APPROVED&deleted=false",                                 1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-A%&statuses=APPROVED&deleted=false",                                   0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-A&statuses=APPROVED&deleted=false",                                    0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-A__&statuses=APPROVED&deleted=false",                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE_&statuses=APPROVED&deleted=false",                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE1&statuses=APPROVED&deleted=false",                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys%&statuses=APPROVED&deleted=false",                                 0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys__&statuses=APPROVED&deleted=false",                                0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys_&statuses=APPROVED&deleted=false",                                 0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",                                  0);
+        ITUtilStructures.assertRead("?mnemonicPath=A&deleted=false",                                                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=A__&deleted=false",                                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&deleted=false",                                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&deleted=false",                                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-A%&deleted=false",                                                   15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-A&deleted=false",                                                     0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-A__&deleted=false",                                                  15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-AE_&deleted=false",                                                   5);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-AE1&deleted=false",                                                   1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-A%&deleted=false",                                                     0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-A&deleted=false",                                                      0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-A__&deleted=false",                                                    0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE_&deleted=false",                                                    0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE1&deleted=false",                                                    0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys%&deleted=false",                                                   0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&deleted=false",                                                    0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys__&deleted=false",                                                  0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys_&deleted=false",                                                   0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&deleted=false",                                                    0);
 
         // history
         //     /history/{uuid}
diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
index 45c54e049ebc4a2b6ef7f21e57158c93704a12cf..e284a557275a2c9989053baefdbfdb63e87feda6 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
@@ -491,14 +491,11 @@ class StructuresSystemGroupIT {
     }
 
     @Test
-    void readSearchHistoryStatus() {
-        // test read system group in various ways for create
-        //     search
-        //     latest
-        //     history
+    void readSearch() {
+        // test read system group in various ways
         //
         // note
-        //     create (and more) to read (with content)
+        //     create in order to read
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElement structureElement  = null;
@@ -509,20 +506,16 @@ class StructuresSystemGroupIT {
         // read (1)
         count = ITUtilStructures.assertRead("?type=SYSTEMGROUP").getListSize();
 
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING",                          0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED",                         0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED",                        0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED",                         0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rshs",           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rshs",          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rshs",           0);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP",                                           0, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&&mnemonic=Rshs",                            0);
 
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshs", Boolean.FALSE);
 
@@ -532,22 +525,18 @@ class StructuresSystemGroupIT {
         // read (2)
         assertEquals(count + 1, ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).getListSize());
 
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING",                          0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED",                         1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED",                        0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED",                         0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&mnemonic=Rshs",            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rshs",           1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rshs",          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rshs",           0);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP",                                           1, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=Rshs",                             1);
 
         ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
 
         ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
@@ -555,18 +544,12 @@ class StructuresSystemGroupIT {
     }
 
     @Test
-    void readSearchHistoryStatusLatest9() {
+    void readSearch2Trees() {
         // test read system group in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     2 different lines  of uuid with combinations of status and latest
+        //     create in order to read
+        //     2 different lines  of uuid with combinations of values
         //         9 entries for each line of uuid
         //         no mnemonic, mnemonic - A9
         //
@@ -633,9 +616,12 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertFind("/" + uuid2.toString());
 
         ITUtilStructures.assertRead("?mnemonic=Ab",                                  0);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=false",                    0);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=true",                     0);
+
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  0);
-        ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=true",                     0);
 
         ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
         ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
@@ -645,18 +631,11 @@ class StructuresSystemGroupIT {
     }
 
     @Test
-    void readSearchStatusDeletedChildren() {
+    void readSearchMultipleTrees() {
         // test read system group in various ways
-        //     status
-        //   ( latest )
-        //     deleted
-        //     children
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     querying for Status.APPROVED means latest approved
+        //     create in order to read
         //     multiple commands at same time may have effects on order by (when)
         //
         //     exclude content (with latest) before latest
@@ -804,7 +783,7 @@ class StructuresSystemGroupIT {
 
         // read & search
         //     /{uuid}
-        //     type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
+        //     type, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
         //     combination
         //     pagination
         //         page, pageSize
@@ -817,25 +796,9 @@ class StructuresSystemGroupIT {
         //             first and last items                         -    not always possible
 
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__",                                                         30);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&mnemonic=A__",                                         0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=A__",                                       30);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=A__",                                       0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=A__",                                        0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      30);
 
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&mnemonic=A__",                                           15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=PENDING&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=APPROVED&mnemonic=A__",                         15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=CANCELLED&mnemonic=A__",                         0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=REJECTED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        15);
-
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&mnemonic=A__",                                            15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&statuses=PENDING&mnemonic=A__",                            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&statuses=APPROVED&mnemonic=A__",                          15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&statuses=CANCELLED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&statuses=REJECTED&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__",         15);
 
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&parent=" + uuid2.toString(),                                            0);
@@ -929,10 +892,10 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // pagination
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=12",    6);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=12",    0);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=0&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=1&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=2&pageSize=12",                                       6);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // order by, pagination
         response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
@@ -950,7 +913,7 @@ class StructuresSystemGroupIT {
 
         // children
         //     /children/{uuid}
-        //     uuid, statuses, deleted
+        //     uuid, deleted
         ITUtilStructures.assertRead("/children/" + uuid.toString(),                                                            0, 0, HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + uuid2.toString(),                                                           0, 0, HttpURLConnection.HTTP_NOT_FOUND);
 
@@ -960,10 +923,10 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertRead("?mnemonic=A__",                                                                          30, -1);
         ITUtilStructures.assertRead("?mnemonic=AE_",                                                                           5);
         ITUtilStructures.assertRead("?mnemonic=AE1",                                                                           1);
-        ITUtilStructures.assertRead("?mnemonic=A&statuses=APPROVED&deleted=false",                                             0);
-        ITUtilStructures.assertRead("?mnemonic=A__&statuses=APPROVED&deleted=false",                                          15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                           5);
-        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                           1);
+        ITUtilStructures.assertRead("?mnemonic=A&deleted=false",                                                               0);
+        ITUtilStructures.assertRead("?mnemonic=A__&deleted=false",                                                            15, -1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&deleted=false",                                                             5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&deleted=false",                                                             1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
@@ -971,10 +934,10 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                      15, -1);
         ITUtilStructures.assertRead("?mnemonicPath=AE_",                                                                       5);
         ITUtilStructures.assertRead("?mnemonicPath=AE1",                                                                       1);
-        ITUtilStructures.assertRead("?mnemonicPath=A&statuses=APPROVED&deleted=false",                                         0);
-        ITUtilStructures.assertRead("?mnemonicPath=A__&statuses=APPROVED&deleted=false",                                      15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                       5);
-        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                       1);
+        ITUtilStructures.assertRead("?mnemonicPath=A&deleted=false",                                                           0);
+        ITUtilStructures.assertRead("?mnemonicPath=A__&deleted=false",                                                        15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&deleted=false",                                                         5);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&deleted=false",                                                         1);
 
         // history
         //     /history/{uuid}
diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
index 2c14fedf95c1b8b15a6f7e2f2d29f339ff2c6bf0..e307784abc6da007861b60526d3024704b0b1cb4 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
@@ -501,14 +501,11 @@ class StructuresSystemIT {
     }
 
     @Test
-    void readSearchHistoryStatus() {
-        // test read system in various ways for create
-        //     search
-        //     latest
-        //     history
+    void readSearch() {
+        // test read system in various ways
         //
         // note
-        //     create (and more) to read (with content)
+        //     create in order to read
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElement structureElement  = null;
@@ -519,28 +516,28 @@ class StructuresSystemIT {
         // read (1)
         count = ITUtilStructures.assertRead("?type=SYSTEM").getListSize();
 
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING",                               0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED",                              0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED",                             0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED",                              0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&mnemonic=Rshs",                 0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rshs",                0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rshs",               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rshs",                0);
+        ITUtilStructures.assertRead("?type=SYSTEM",                                                0, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=Rshs",                                  0);
 
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
         ITUtilStructures.assertRead("?mnemonic=Sg-Rshs",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&deleted=false",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&deleted=true",                              0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=false",                              1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertExists(Type.SYSTEM, "Rshs",    Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshs", Boolean.FALSE);
@@ -551,30 +548,30 @@ class StructuresSystemIT {
         // read (2)
         assertEquals(count + 1, ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).getListSize());
 
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING",                               0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED",                              1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED",                             0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED",                              0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&mnemonic=Rshs",                 0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rshs",                1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rshs",               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rshs",                0);
+        ITUtilStructures.assertRead("?type=SYSTEM",                                                1, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=Rshs",                                  1);
 
         ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
         ITUtilStructures.assertRead("?mnemonic=Sg-Rshs",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=false",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=false",                                1);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&deleted=false",                             0);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=true",                                   0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&deleted=true",                                 0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&deleted=true",                              0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
         ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          1);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&statuses=APPROVED&deleted=false",       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=false",                              1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=false",                            1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&deleted=false",                         0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg&deleted=true",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&deleted=true",                             0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&deleted=true",                          0);
 
         ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
@@ -583,18 +580,12 @@ class StructuresSystemIT {
     }
 
     @Test
-    void readSearchHistoryStatusLatest9() {
+    void readSearch2Trees() {
         // test read system in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     2 different lines  of uuid with combinations of status and latest
+        //     create in order to read
+        //     2 different lines  of uuid with combinations of values
         //         9 entries for each line of uuid
         //         mnemonic - Ab, A9
         //
@@ -607,7 +598,7 @@ class StructuresSystemIT {
         StructureElement structureElement = null;
         UUID uuid, uuid2 = null;
 
-        // a number of entries for which the last entry has status PENDING
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Ab", null, "description mnemonic Ab");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -630,7 +621,7 @@ class StructuresSystemIT {
         structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        // a number of entries for which the last entry has status CANCELLED
+        // a number of entries
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "A9", 2, "description mnemonic A9");
         structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
@@ -661,9 +652,12 @@ class StructuresSystemIT {
         ITUtilStructures.assertFind("/" + uuid2.toString());
 
         ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&deleted=true",                     0);
+
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=false",                    1);
+        ITUtilStructures.assertRead("?mnemonic=A9&deleted=true",                     0);
 
         ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
         ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
@@ -675,18 +669,11 @@ class StructuresSystemIT {
     }
 
     @Test
-    void readSearchStatusDeletedChildren() {
+    void readSearchMultipleTrees() {
         // test read system in various ways
-        //     status
-        //   ( latest )
-        //     deleted
-        //     children
         //
         // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     querying for Status.APPROVED means latest approved
+        //     create in order to read
         //     multiple commands at same time may have effects on order by (when)
         //
         //     exclude content (with latest) before latest
@@ -834,7 +821,7 @@ class StructuresSystemIT {
 
         // read & search
         //     /{uuid}
-        //     type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
+        //     type, deleted, uuid, parent, name, mnemonic, mnemonicPath, description
         //     combination
         //     pagination
         //         page, pageSize
@@ -847,25 +834,9 @@ class StructuresSystemIT {
         //             first and last items                         -    not always possible
 
         ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__",                                                         30);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&mnemonic=A__",                                         0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=A__",                                       30);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=A__",                                       0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=A__",                                        0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      30);
 
         ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&mnemonic=A__",                                           15);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=PENDING&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=APPROVED&mnemonic=A__",                         15);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=CANCELLED&mnemonic=A__",                         0);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=REJECTED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        15);
-
         ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&mnemonic=A__",                                            15);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&statuses=PENDING&mnemonic=A__",                            0);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&statuses=APPROVED&mnemonic=A__",                          15);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&statuses=CANCELLED&mnemonic=A__",                          0);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&statuses=REJECTED&mnemonic=A__",                           0);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__",         15);
 
         ITUtilStructures.assertRead("?type=SYSTEM&parent=" + systemGroupUuid.toString(),                                 30, -1);
         ITUtilStructures.assertRead("?type=SYSTEM&parent=" + uuid.toString(),                                             0);
@@ -959,10 +930,10 @@ class StructuresSystemIT {
         ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // pagination
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=12",   12);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=12",    6);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=12",    0);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=0&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=1&pageSize=12",                                      12);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=2&pageSize=12",                                       6);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=3&pageSize=12",                                       0);
 
         // order by, pagination
         response  = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
@@ -981,19 +952,12 @@ class StructuresSystemIT {
 
         // children
         //     /children/{uuid}
-        //     uuid, statuses, deleted
+        //     uuid, deleted
         ITUtilStructures.assertRead("/children/" + uuid.toString(),                                                       0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + uuid2.toString(),                                                      0, 0,  HttpURLConnection.HTTP_NOT_FOUND);
         ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString(),                                           15, -1);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=APPROVED",                    15, -1);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=ARCHIVED",                     0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=CANCELLED",                    0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=PENDING",                      0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=REJECTED",                     0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=CANCELLED,PENDING",            0, -1, HttpURLConnection.HTTP_NOT_FOUND);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=APPROVED,PENDING",            15, -1);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=APPROVED&deleted=false",       9, -1);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=APPROVED&deleted=true",        5, -1);
+        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?deleted=false",                         9, -1);
+        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?deleted=true",                          5, -1);
 
         // mnemonic
         //     ?mnemonic={mnemonic}
@@ -1002,11 +966,11 @@ class StructuresSystemIT {
         ITUtilStructures.assertRead("?mnemonic=AE_",                                                                      5);
         ITUtilStructures.assertRead("?mnemonic=AE1",                                                                      1);
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                                       1);
-        ITUtilStructures.assertRead("?mnemonic=A&statuses=APPROVED&deleted=false",                                        0);
-        ITUtilStructures.assertRead("?mnemonic=A__&statuses=APPROVED&deleted=false",                                     15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                      5);
-        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                      1);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                                       1);
+        ITUtilStructures.assertRead("?mnemonic=A&deleted=false",                                                          0);
+        ITUtilStructures.assertRead("?mnemonic=A__&deleted=false",                                                       15, -1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&deleted=false",                                                        5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&deleted=false",                                                        1);
+        ITUtilStructures.assertRead("?mnemonic=Sg&deleted=false",                                                         1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
@@ -1019,15 +983,15 @@ class StructuresSystemIT {
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A__",                                                               0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-AE_",                                                               0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-AE1",                                                               0);
-        ITUtilStructures.assertRead("?mnemonicPath=A&statuses=APPROVED&deleted=false",                                    0);
-        ITUtilStructures.assertRead("?mnemonicPath=A__&statuses=APPROVED&deleted=false",                                 15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                  5);
-        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                  1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-A%&statuses=APPROVED&deleted=false",                                0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-A&statuses=APPROVED&deleted=false",                                 0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-A__&statuses=APPROVED&deleted=false",                               0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE_&statuses=APPROVED&deleted=false",                               0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE1&statuses=APPROVED&deleted=false",                               0);
+        ITUtilStructures.assertRead("?mnemonicPath=A&deleted=false",                                                      0);
+        ITUtilStructures.assertRead("?mnemonicPath=A__&deleted=false",                                                   15, -1);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&deleted=false",                                                    5);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&deleted=false",                                                    1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-A%&deleted=false",                                                  0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-A&deleted=false",                                                   0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-A__&deleted=false",                                                 0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE_&deleted=false",                                                 0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE1&deleted=false",                                                 0);
 
         // history
         //     /history/{uuid}
diff --git a/src/test/java/org/openepics/names/util/URLUtilityTest.java b/src/test/java/org/openepics/names/util/URLUtilityTest.java
index 0636cc285b3bcb94926cf6c9d6a5e425ca060468..e8c161f6267c3f417d8f485587f03af8a7f4daa4 100644
--- a/src/test/java/org/openepics/names/util/URLUtilityTest.java
+++ b/src/test/java/org/openepics/names/util/URLUtilityTest.java
@@ -59,7 +59,7 @@ class URLUtilityTest {
             "abcd.xhtml?efgh&uvwx=yzabc  def++ghijklm+ nop&abcdefgh=,abcd.xhtml?efgh&uvwx=yzabc++def%2B%2Bghijklm%2B+nop&abcdefgh=",
             "http://127.0.0.1:8080/a/b/c/d/e/f/RFQ-010:EMR-FS-0%,http://127.0.0.1:8080/a/b/c/d/e/f/RFQ-010%3AEMR-FS-0%25",
             "http://127.0.0.1:8080/api/v1/structures?mnemonicPath=Sg-A%,http://127.0.0.1:8080/api/v1/structures?mnemonicPath=Sg-A%25",
-            "http://127.0.0.1:8080/api/v1/structures?mnemonicPath=Sg-A%&statuses=APPROVED&deleted=false,http://127.0.0.1:8080/api/v1/structures?mnemonicPath=Sg-A%25&statuses=APPROVED&deleted=false"
+            "http://127.0.0.1:8080/api/v1/structures?mnemonicPath=Sg-A%&deleted=false,http://127.0.0.1:8080/api/v1/structures?mnemonicPath=Sg-A%25&deleted=false"
     })
     void encodeURL(String input, String expected) {
         assertEquals(expected, URLUtility.encodeURL(input));