From 38751f00ea62dea487881341a802a5fdee367537 Mon Sep 17 00:00:00 2001
From: Lars Johansson <lars.johansson@ess.eu>
Date: Tue, 5 Mar 2024 09:46:21 +0100
Subject: [PATCH] Remove endpoints for structures to approve, cancel, reject

Refactor handling of structures and remove endpoints for structures to approve, cancel, reject.
Process of structure entry proposed to be created, updated, deleted by user and
processed (approved, rejected) by administrator or cancelled by user is no more.
Instead, administrator is to create, update, delete structure entry.

Note that commit is first step in removing status as query parameter.
---
 docs/useful/useful.odg                        |  Bin 90806 -> 97189 bytes
 .../repository/DeviceGroupRepository.java     |    4 +-
 .../repository/DeviceTypeRepository.java      |    4 +-
 .../repository/DisciplineRepository.java      |    4 +-
 .../names/repository/INameRepository.java     |   18 +-
 .../names/repository/SubsystemRepository.java |    4 +-
 .../repository/SystemGroupRepository.java     |    4 +-
 .../names/repository/SystemRepository.java    |    4 +-
 .../names/repository/model/DeviceGroup.java   |   10 +-
 .../names/repository/model/DeviceType.java    |   10 +-
 .../names/repository/model/Discipline.java    |   10 +-
 .../names/repository/model/Structure.java     |   14 +-
 .../names/repository/model/Subsystem.java     |   10 +-
 .../names/repository/model/System.java        |   10 +-
 .../names/repository/model/SystemGroup.java   |   10 +-
 .../names/rest/api/v1/IStructures.java        |  434 +-----
 .../element/StructureElementCommand.java      |    2 +-
 .../controller/HealthcheckController.java     |    3 -
 .../rest/controller/NamesController.java      |    1 -
 .../rest/controller/ReportController.java     |    3 -
 .../rest/controller/StructuresController.java |  164 ---
 .../controller/VerificationController.java    |    3 -
 .../names/service/DeviceGroupService.java     |  237 +--
 .../names/service/DeviceTypeService.java      |  220 +--
 .../names/service/DisciplineService.java      |  241 +--
 .../openepics/names/service/NamesService.java |   31 +-
 .../names/service/NotificationService.java    |   55 +-
 .../names/service/StructuresService.java      |  288 +---
 .../names/service/SubsystemService.java       |  241 +--
 .../names/service/SystemGroupService.java     |  260 +---
 .../names/service/SystemService.java          |  260 +---
 .../openepics/names/util/NameElementUtil.java |    4 +-
 .../names/util/StructureCommand.java          |    2 +-
 .../names/util/StructureElementUtil.java      |  287 +---
 .../openepics/names/util/StructureUtil.java   |   19 -
 .../org/openepics/names/util/TextUtil.java    |    3 -
 .../names/util/ValidateNameElementUtil.java   |   31 +-
 .../util/ValidateStructureElementUtil.java    |  203 +--
 .../notification/NotificationStructure.java   |   13 +-
 .../util/notification/NotificationUtil.java   |   55 +-
 .../images/naming_backend_data_access.png     |  Bin 24564 -> 26225 bytes
 .../templates/notification_structures.html    |  174 ---
 .../org/openepics/names/docker/ConvertIT.java |   26 +-
 .../openepics/names/docker/ITUtilNames.java   |   40 +-
 .../names/docker/ITUtilStructures.java        |  437 +-----
 .../org/openepics/names/docker/MetricsIT.java |   26 +-
 .../org/openepics/names/docker/NamesIT.java   |   36 +-
 .../org/openepics/names/docker/PvNamesIT.java |   26 +-
 .../names/docker/StructuresDeviceGroupIT.java | 1145 ++++-----------
 .../names/docker/StructuresDeviceTypeIT.java  | 1215 ++++-----------
 .../names/docker/StructuresDisciplineIT.java  | 1121 ++++----------
 .../names/docker/StructuresSubsystemIT.java   | 1305 ++++-------------
 .../names/docker/StructuresSystemGroupIT.java | 1174 ++++-----------
 .../names/docker/StructuresSystemIT.java      | 1253 ++++------------
 .../docker/complex/NamesInstanceIndexIT.java  |  120 +-
 .../names/docker/complex/NamesMultipleIT.java |   26 +-
 .../complex/NamesStructuresDeleteIT.java      |   80 +-
 .../complex/NamesStructuresUpdateIT.java      |   90 +-
 .../docker/complex/StructuresLevel3IT.java    |   66 +-
 .../docker/complex/StructuresMultipleIT.java  |  986 +------------
 .../NotificationStructureTest.java            |   12 +-
 .../notification/NotificationUtilTest.java    |    6 +-
 .../INTEGRATIONTEST_DOCKER_TUTORIAL.md        |  121 +-
 src/test/resources/data/db/README.txt         |    2 +-
 .../data/db/dump-discs_names_namesit.sql      |  270 ++--
 .../data/db/dump-discs_names_subsystemit.sql  |  294 ++--
 66 files changed, 2914 insertions(+), 10313 deletions(-)

diff --git a/docs/useful/useful.odg b/docs/useful/useful.odg
index 9db61bdb3ec6cf345952e97cbb926eb9e1ff041e..6440f2c7f8a69c74e27dfde00e88e8b128cd8b17 100644
GIT binary patch
delta 58897
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
H;s*Q|&46HK

delta 52580
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%0D8G^{j9!{i;8FEX0
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
D%v?lc

diff --git a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java
index f76ad2b6..f42312b3 100644
--- a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java
+++ b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java
@@ -292,7 +292,7 @@ public class DeviceGroupRepository {
             predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description))));
         }
         if (!StringUtils.isEmpty(who)) {
-            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who))));
+            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_PROCESSED_BY), RepositoryUtil.preparePattern(who))));
         }
 
         return predicates;
@@ -319,7 +319,7 @@ public class DeviceGroupRepository {
         } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
             return root.get(NameStructure.FIELD_DESCRIPTION);
         } else if (FieldStructure.WHEN.equals(orderBy)) {
-            return root.get(NameStructure.FIELD_REQUESTED);
+            return root.get(NameStructure.FIELD_PROCESSED);
         } else {
             return root.get(Structure.FIELD_MNEMONIC);
         }
diff --git a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java
index 85691a57..73262bd5 100644
--- a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java
+++ b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java
@@ -292,7 +292,7 @@ public class DeviceTypeRepository {
             predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description))));
         }
         if (!StringUtils.isEmpty(who)) {
-            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who))));
+            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_PROCESSED_BY), RepositoryUtil.preparePattern(who))));
         }
 
         return predicates;
@@ -319,7 +319,7 @@ public class DeviceTypeRepository {
         } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
             return root.get(NameStructure.FIELD_DESCRIPTION);
         } else if (FieldStructure.WHEN.equals(orderBy)) {
-            return root.get(NameStructure.FIELD_REQUESTED);
+            return root.get(NameStructure.FIELD_PROCESSED);
         } else {
             return root.get(Structure.FIELD_MNEMONIC);
         }
diff --git a/src/main/java/org/openepics/names/repository/DisciplineRepository.java b/src/main/java/org/openepics/names/repository/DisciplineRepository.java
index a7a953f8..f856f8dc 100644
--- a/src/main/java/org/openepics/names/repository/DisciplineRepository.java
+++ b/src/main/java/org/openepics/names/repository/DisciplineRepository.java
@@ -285,7 +285,7 @@ public class DisciplineRepository {
             predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description))));
         }
         if (!StringUtils.isEmpty(who)) {
-            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who))));
+            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_PROCESSED_BY), RepositoryUtil.preparePattern(who))));
         }
 
         return predicates;
@@ -312,7 +312,7 @@ public class DisciplineRepository {
         } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
             return root.get(NameStructure.FIELD_DESCRIPTION);
         } else if (FieldStructure.WHEN.equals(orderBy)) {
-            return root.get(NameStructure.FIELD_REQUESTED);
+            return root.get(NameStructure.FIELD_PROCESSED);
         } else {
             return root.get(Structure.FIELD_MNEMONIC);
         }
diff --git a/src/main/java/org/openepics/names/repository/INameRepository.java b/src/main/java/org/openepics/names/repository/INameRepository.java
index 933755b6..0358dace 100644
--- a/src/main/java/org/openepics/names/repository/INameRepository.java
+++ b/src/main/java/org/openepics/names/repository/INameRepository.java
@@ -105,36 +105,41 @@ public interface INameRepository extends JpaRepository<Name, Long> {
 
     @Query("SELECT n FROM Name n, SystemGroup sg "
             + "WHERE n.latest = true "
+            + "AND n.deleted = false "
             + "AND sg.uuid = n.systemGroupUuid "
             + "AND sg.latest = true "
             + "AND sg.uuid = ?1")
-    List<Name> findLatestBySystemGroupUuid(String uuid);
+    List<Name> findLatestNotDeletedBySystemGroupUuid(String uuid);
 
     @Query("SELECT n FROM Name n, System sys "
             + "WHERE n.latest = true "
+            + "AND n.deleted = false "
             + "AND sys.uuid = n.systemUuid "
             + "AND sys.latest = true "
             + "AND sys.uuid = ?1")
-    List<Name> findLatestBySystemUuid(String uuid);
+    List<Name> findLatestNotDeletedBySystemUuid(String uuid);
 
     @Query("SELECT n FROM Name n, Subsystem sub, System sys "
             + "WHERE n.latest = true "
+            + "AND n.deleted = false "
             + "AND sub.uuid = n.subsystemUuid "
             + "AND sub.latest = true "
             + "AND sys.uuid = sub.parentUuid  "
             + "AND sys.latest = true "
             + "AND sys.uuid = ?1")
-    List<Name> findLatestBySystemUuidThroughSubsystem(String uuid);
+    List<Name> findLatestNotDeletedBySystemUuidThroughSubsystem(String uuid);
 
     @Query("SELECT n FROM Name n, Subsystem sub "
             + "WHERE n.latest = true "
+            + "AND n.deleted = false "
             + "AND sub.uuid = n.subsystemUuid "
             + "AND sub.latest = true "
             + "AND sub.uuid = ?1")
-    List<Name> findLatestBySubsystemUuid(String uuid);
+    List<Name> findLatestNotDeletedBySubsystemUuid(String uuid);
 
     @Query("SELECT n FROM Name n, DeviceType dt, DeviceGroup dg, Discipline di "
             + "WHERE n.latest = true "
+            + "AND n.deleted = false "
             + "AND dt.uuid = n.deviceTypeUuid "
             + "AND dt.latest = true "
             + "AND dg.uuid = dt.parentUuid "
@@ -142,14 +147,15 @@ public interface INameRepository extends JpaRepository<Name, Long> {
             + "AND di.uuid = dg.parentUuid "
             + "AND di.latest = true "
             + "AND di.uuid = ?1")
-    List<Name> findLatestByDisciplineUuidThroughDeviceType(String uuid);
+    List<Name> findLatestNotDeletedByDisciplineUuidThroughDeviceType(String uuid);
 
     @Query("SELECT n FROM Name n, DeviceType dt "
             + "WHERE n.latest = true "
+            + "AND n.deleted = false "
             + "AND dt.uuid = n.deviceTypeUuid "
             + "AND dt.latest = true "
             + "AND dt.uuid = ?1")
-    List<Name> findLatestByDeviceTypeUuid(String uuid);
+    List<Name> findLatestNotDeletedByDeviceTypeUuid(String uuid);
 
     // ----------------------------------------------------------------------------------------------------
 
diff --git a/src/main/java/org/openepics/names/repository/SubsystemRepository.java b/src/main/java/org/openepics/names/repository/SubsystemRepository.java
index 8683018b..dff9778d 100644
--- a/src/main/java/org/openepics/names/repository/SubsystemRepository.java
+++ b/src/main/java/org/openepics/names/repository/SubsystemRepository.java
@@ -292,7 +292,7 @@ public class SubsystemRepository {
             predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description))));
         }
         if (!StringUtils.isEmpty(who)) {
-            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who))));
+            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_PROCESSED_BY), RepositoryUtil.preparePattern(who))));
         }
 
         return predicates;
@@ -319,7 +319,7 @@ public class SubsystemRepository {
         } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
             return root.get(NameStructure.FIELD_DESCRIPTION);
         } else if (FieldStructure.WHEN.equals(orderBy)) {
-            return root.get(NameStructure.FIELD_REQUESTED);
+            return root.get(NameStructure.FIELD_PROCESSED);
         } else {
             return root.get(Structure.FIELD_MNEMONIC);
         }
diff --git a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java
index a40f2e04..9c3e2608 100644
--- a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java
+++ b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java
@@ -281,7 +281,7 @@ public class SystemGroupRepository {
             predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description))));
         }
         if (!StringUtils.isEmpty(who)) {
-            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who))));
+            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_PROCESSED_BY), RepositoryUtil.preparePattern(who))));
         }
 
         return predicates;
@@ -308,7 +308,7 @@ public class SystemGroupRepository {
         } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
             return root.get(NameStructure.FIELD_DESCRIPTION);
         } else if (FieldStructure.WHEN.equals(orderBy)) {
-            return root.get(NameStructure.FIELD_REQUESTED);
+            return root.get(NameStructure.FIELD_PROCESSED);
         } else {
             return root.get(Structure.FIELD_MNEMONIC);
         }
diff --git a/src/main/java/org/openepics/names/repository/SystemRepository.java b/src/main/java/org/openepics/names/repository/SystemRepository.java
index c0f23a84..78fa2523 100644
--- a/src/main/java/org/openepics/names/repository/SystemRepository.java
+++ b/src/main/java/org/openepics/names/repository/SystemRepository.java
@@ -292,7 +292,7 @@ public class SystemRepository {
             predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description))));
         }
         if (!StringUtils.isEmpty(who)) {
-            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who))));
+            predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_PROCESSED_BY), RepositoryUtil.preparePattern(who))));
         }
 
         return predicates;
@@ -319,7 +319,7 @@ public class SystemRepository {
         } else if (FieldStructure.DESCRIPTION.equals(orderBy)) {
             return root.get(NameStructure.FIELD_DESCRIPTION);
         } else if (FieldStructure.WHEN.equals(orderBy)) {
-            return root.get(NameStructure.FIELD_REQUESTED);
+            return root.get(NameStructure.FIELD_PROCESSED);
         } else {
             return root.get(Structure.FIELD_MNEMONIC);
         }
diff --git a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java
index 56e0c20f..a75133e2 100644
--- a/src/main/java/org/openepics/names/repository/model/DeviceGroup.java
+++ b/src/main/java/org/openepics/names/repository/model/DeviceGroup.java
@@ -67,17 +67,17 @@ public class DeviceGroup extends Structure {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public DeviceGroup(UUID uuid, UUID parentUuid,
             String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         super(uuid, mnemonic, mnemonicEquivalence, ordering,
                 description, status, latest, deleted,
-                requested, requestedBy, requestedComment);
+                processed, processedBy, processedComment);
         this.parentUuid = parentUuid != null ? parentUuid.toString() : null;
     }
 
diff --git a/src/main/java/org/openepics/names/repository/model/DeviceType.java b/src/main/java/org/openepics/names/repository/model/DeviceType.java
index 266786b0..a7ca0ba4 100644
--- a/src/main/java/org/openepics/names/repository/model/DeviceType.java
+++ b/src/main/java/org/openepics/names/repository/model/DeviceType.java
@@ -67,17 +67,17 @@ public class DeviceType extends Structure {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public DeviceType(UUID uuid, UUID parentUuid,
             String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         super(uuid, mnemonic, mnemonicEquivalence, ordering,
                 description, status, latest, deleted,
-                requested, requestedBy, requestedComment);
+                processed, processedBy, processedComment);
         this.parentUuid = parentUuid != null ? parentUuid.toString() : null;
     }
 
diff --git a/src/main/java/org/openepics/names/repository/model/Discipline.java b/src/main/java/org/openepics/names/repository/model/Discipline.java
index 23a0eafc..8d399c9f 100644
--- a/src/main/java/org/openepics/names/repository/model/Discipline.java
+++ b/src/main/java/org/openepics/names/repository/model/Discipline.java
@@ -58,17 +58,17 @@ public class Discipline extends Structure {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public Discipline(UUID uuid,
             String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         super(uuid, mnemonic, mnemonicEquivalence, ordering,
                 description, status, latest, deleted,
-                requested, requestedBy, requestedComment);
+                processed, processedBy, processedComment);
     }
 
     @Override
diff --git a/src/main/java/org/openepics/names/repository/model/Structure.java b/src/main/java/org/openepics/names/repository/model/Structure.java
index bf86987a..5834488d 100644
--- a/src/main/java/org/openepics/names/repository/model/Structure.java
+++ b/src/main/java/org/openepics/names/repository/model/Structure.java
@@ -68,13 +68,13 @@ public class Structure extends NameStructure implements Serializable {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public Structure(UUID uuid, String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         setUuid(uuid);
         setMnemonic(mnemonic);
         setMnemonicEquivalence(mnemonicEquivalence);
@@ -83,9 +83,9 @@ public class Structure extends NameStructure implements Serializable {
         setStatus(status);
         setLatest(latest);
         setDeleted(deleted);
-        setRequested(requested);
-        setRequestedBy(requestedBy);
-        setRequestedComment(requestedComment);
+        setProcessed(processed);
+        setProcessedBy(processedBy);
+        setProcessedComment(processedComment);
     }
 
     public String getMnemonic() {
diff --git a/src/main/java/org/openepics/names/repository/model/Subsystem.java b/src/main/java/org/openepics/names/repository/model/Subsystem.java
index a7bf9bc5..d2c7566f 100644
--- a/src/main/java/org/openepics/names/repository/model/Subsystem.java
+++ b/src/main/java/org/openepics/names/repository/model/Subsystem.java
@@ -67,17 +67,17 @@ public class Subsystem extends Structure {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public Subsystem(UUID uuid, UUID parentUuid,
             String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         super(uuid, mnemonic, mnemonicEquivalence, ordering,
                 description, status, latest, deleted,
-                requested, requestedBy, requestedComment);
+                processed, processedBy, processedComment);
         this.parentUuid = parentUuid != null ? parentUuid.toString() : null;
     }
 
diff --git a/src/main/java/org/openepics/names/repository/model/System.java b/src/main/java/org/openepics/names/repository/model/System.java
index fe23b24e..06fdd377 100644
--- a/src/main/java/org/openepics/names/repository/model/System.java
+++ b/src/main/java/org/openepics/names/repository/model/System.java
@@ -67,17 +67,17 @@ public class System extends Structure {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public System(UUID uuid, UUID parentUuid,
             String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         super(uuid, mnemonic, mnemonicEquivalence, ordering,
                 description, status, latest, deleted,
-                requested, requestedBy, requestedComment);
+                processed, processedBy, processedComment);
         this.parentUuid = parentUuid != null ? parentUuid.toString() : null;
     }
 
diff --git a/src/main/java/org/openepics/names/repository/model/SystemGroup.java b/src/main/java/org/openepics/names/repository/model/SystemGroup.java
index 1d36fc53..8ffa171f 100644
--- a/src/main/java/org/openepics/names/repository/model/SystemGroup.java
+++ b/src/main/java/org/openepics/names/repository/model/SystemGroup.java
@@ -58,17 +58,17 @@ public class SystemGroup extends Structure {
      * @param status status
      * @param latest latest
      * @param deleted deleted
-     * @param requested requested
-     * @param requestedBy requested by
-     * @param requestedComment requested comment
+     * @param processed processed
+     * @param processedBy processed by
+     * @param processedComment processed comment
      */
     public SystemGroup(UUID uuid,
             String mnemonic, String mnemonicEquivalence, Integer ordering,
             String description, Status status, Boolean latest, Boolean deleted,
-            Date requested, String requestedBy, String requestedComment) {
+            Date processed, String processedBy, String processedComment) {
         super(uuid, mnemonic, mnemonicEquivalence, ordering,
                 description, status, latest, deleted,
-                requested, requestedBy, requestedComment);
+                processed, processedBy, processedComment);
     }
 
     @Override
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 9bd727e3..2198d98e 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
@@ -34,7 +34,6 @@ import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PatchMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PutMapping;
@@ -102,24 +101,17 @@ public interface IStructures {
            read      GET    /structures/validateCreate                        - validateStructuresCreate       hidden from Swagger UI
            read      GET    /structures/validateUpdate                        - validateStructuresUpdate       hidden from Swagger UI
            read      GET    /structures/validateDelete                        - validateStructuresDelete       hidden from Swagger UI
-           read      GET    /structures/validateApprove                       - validateStructuresApprove      hidden from Swagger UI
-           read      GET    /structures/validateCancel                        - validateStructuresCancel       hidden from Swagger UI
-           read      GET    /structures/validateReject                        - validateStructuresReject       hidden from Swagger UI
            ----------------------------------------------------------------------------------------------------
            update    PUT    /structures                                       - updateStructures
            ----------------------------------------------------------------------------------------------------
            delete    DELETE /structures                                       - deleteStructures
-           ----------------------------------------------------------------------------------------------------
-           update    PATCH  /structures/approve                               - approveStructures
-           update    PATCH  /structures/cancel                                - cancelStructures
-           update    PATCH  /structures/reject                                - rejectStructures
 
        Note
            authentication/authorization
                3 levels - no, user, administrator
                    no            - read
-                   user          - create, update, delete
-                   administrator - approve, cancel, reject
+                 ( 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
                note - latest handled by history
@@ -289,7 +281,6 @@ public interface IStructures {
     /**
      * Find valid structure by uuid (exact match).
      * Return list of structure elements.
-     * Maximum number of elements will be two (PENDING, APPROVED) for given uuid.
      *
      * @param uuid uuid
      * @return list of structure elements.
@@ -299,8 +290,6 @@ public interface IStructures {
             description = """
                           Find valid structure by uuid (exact match).
                           Return list of structure elements.
-
-                          Maximum number of elements will be two (PENDING, APPROVED) for given uuid.
                           """
     )
     @ApiResponses(value = {
@@ -815,216 +804,6 @@ public interface IStructures {
                                             requiredProperties = {"uuid","type"}))))
             @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
 
-    /**
-     * Return if structures are valid to approve by list of structure elements.
-     * If structures are valid to approve, successful approve of structures can be expected.
-     *
-     * <p>
-     * Returned object has five fields (message, details, field, value, list).
-     * <ul>
-     * <li>message:   reason, if method fails</li>
-     * <li>details:   details, if method fails</li>
-     * <li>field:     field, if method fails</li>
-     * <li>value:     boolean (true/false), overall result of method</li>
-     * <li>list:      list of response objects (with fields reason, details, field, value), one for each input element</li>
-     * </ul>
-     * </p>
-     *
-     * @param structureElementCommands list of structure elements
-     * @return if list of structures is valid to approve
-     */
-    @Hidden
-    @Operation(
-            summary     = "Return if structures are valid to approve by list of structure elements",
-            description = """
-                          Return if structures are valid to approve by list of structure elements.
-                          If structures are valid to approve, successful approve of structures can be expected.
-
-                          Required attributes:
-                          - uuid
-                          - type
-                          """
-    )
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = "200",
-                    description  = """
-                                   OK. Response is true if all structure elements validated ok, false otherwise.
-                                   Responses contain array with result for each structure element. Message and details are available if no response is available.
-                                   """,
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ResponseBooleanList.class))),
-            @ApiResponse(
-                    responseCode = "400",
-                    description  = "Bad request. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "500",
-                    description  = "Internal server error. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class)))
-    })
-    @GetMapping(
-            value = "/validateApprove",
-            produces = {"application/json"},
-            consumes = {"application/json"})
-    public ResponseEntity<ResponseBooleanList> validateStructuresApprove(
-            @Parameter(
-                    in = ParameterIn.DEFAULT,
-                    description = "array of structure elements",
-                    required = true,
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(
-                                    schema = @Schema(
-                                            implementation = StructureElementCommandConfirm.class,
-                                            requiredProperties = {"uuid","type"}))))
-            @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
-
-    /**
-     * Return if structures are valid to cancel by list of structure elements.
-     * If structures are valid to cancel, successful cancel of structures can be expected.
-     *
-     * <p>
-     * Returned object has five fields (message, details, field, value, list).
-     * <ul>
-     * <li>message:   reason, if method fails</li>
-     * <li>details:   details, if method fails</li>
-     * <li>field:     field, if method fails</li>
-     * <li>value:     boolean (true/false), overall result of method</li>
-     * <li>list:      list of response objects (with fields reason, details, field, value), one for each input element</li>
-     * </ul>
-     * </p>
-     *
-     * @param structureElementCommands list of structure elements
-     * @return if list of structures is valid to cancel
-     */
-    @Hidden
-    @Operation(
-            summary     = "Return if structures are valid to cancel by list of structure elements",
-            description = """
-                          Return if structures are valid to cancel by list of structure elements.
-                          If structures are valid to cancel, successful cancel of structures can be expected.
-
-                          Required attributes:
-                          - uuid
-                          - type
-                          """
-    )
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = "200",
-                    description  = """
-                                   OK. Response is true if all structure elements validated ok, false otherwise.
-                                   Responses contain array with result for each structure element. Message and details are available if no response is available.
-                                   """,
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ResponseBooleanList.class))),
-            @ApiResponse(
-                    responseCode = "400",
-                    description  = "Bad request. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "500",
-                    description  = "Internal server error. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class)))
-    })
-    @GetMapping(
-            value = "/validateCancel",
-            produces = {"application/json"},
-            consumes = {"application/json"})
-    public ResponseEntity<ResponseBooleanList> validateStructuresCancel(
-            @Parameter(
-                    in = ParameterIn.DEFAULT,
-                    description = "array of structure elements",
-                    required = true,
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(
-                                    schema = @Schema(
-                                            implementation = StructureElementCommandConfirm.class,
-                                            requiredProperties = {"uuid","type"}))))
-            @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
-
-    /**
-     * Return if structures are valid to reject by list of structure elements.
-     * If structures are valid to reject, successful reject of structures can be expected.
-     *
-     * <p>
-     * Returned object has five fields (message, details, field, value, list).
-     * <ul>
-     * <li>message:   reason, if method fails</li>
-     * <li>details:   details, if method fails</li>
-     * <li>field:     field, if method fails</li>
-     * <li>value:     boolean (true/false), overall result of method</li>
-     * <li>list:      list of response objects (with fields reason, details, field, value), one for each input element</li>
-     * </ul>
-     * </p>
-     *
-     * @param structureElementCommands list of structure elements
-     * @return if list of structures is valid to reject
-     */
-    @Hidden
-    @Operation(
-            summary     = "Return if structures are valid to reject by list of structure elements",
-            description = """
-                          Return if structures are valid to reject by list of structure elements.
-                          If structures are valid to reject, successful reject of structures can be expected.
-
-                          Required attributes:
-                          - uuid
-                          - type
-                          """
-    )
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = "200",
-                    description  = """
-                                   OK. Response is true if all structure elements validated ok, false otherwise.
-                                   Responses contain array with result for each structure element. Message and details are available if no response is available.
-                                   """,
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ResponseBooleanList.class))),
-            @ApiResponse(
-                    responseCode = "400",
-                    description  = "Bad request. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "500",
-                    description  = "Internal server error. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class)))
-    })
-    @GetMapping(
-            value = "/validateReject",
-            produces = {"application/json"},
-            consumes = {"application/json"})
-    public ResponseEntity<ResponseBooleanList> validateStructuresReject(
-            @Parameter(
-                    in = ParameterIn.DEFAULT,
-                    description = "array of structure elements",
-                    required = true,
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(
-                                    schema = @Schema(
-                                            implementation = StructureElementCommandConfirm.class,
-                                            requiredProperties = {"uuid","type"}))))
-            @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
-
     // ----------------------------------------------------------------------------------------------------
 
     /**
@@ -1173,213 +952,4 @@ public interface IStructures {
                                             requiredProperties = {"uuid","type"}))))
             @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
 
-    // ----------------------------------------------------------------------------------------------------
-
-    /**
-     * Approve structures (proposals) by list of structure elements.
-     * Return list of structure elements for approved structures.
-     *
-     * <p>
-     * Name is automatically created name when creation of system structure is approved.
-     * </p>
-     *
-     * @param structureElementCommands list of structure elements
-     * @return list of structure elements for approved structures
-     */
-    @Operation(
-            summary     = "Approve structures (proposals) by array of structure elements",
-            description = """
-                          Approve structures (proposals) by array of structure elements.
-                          Return array of structure elements for approved structures.
-
-                          Name is automatically created name when creation of system structure is approved.
-
-                          Required attributes:
-                          - uuid
-                          - type
-                          """
-    )
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = "200",
-                    description  = "OK. Return array of structure elements for approved structures.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = StructureElement.class)))),
-            @ApiResponse(
-                    responseCode = "400",
-                    description  = "Bad request. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "404",
-                    description  = "Not Found. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "422",
-                    description  = "Unprocessable entity. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "500",
-                    description  = "Internal server error. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class)))
-    })
-    @PatchMapping(
-            value = "/approve",
-            produces = {"application/json"},
-            consumes = {"application/json"})
-    public List<StructureElement> approveStructures(
-            @Parameter(
-                    in = ParameterIn.DEFAULT,
-                    description = "array of structure elements",
-                    required = true,
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(
-                                    schema = @Schema(
-                                            implementation = StructureElementCommandConfirm.class,
-                                            requiredProperties = {"uuid","type"}))))
-            @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
-
-    /**
-     * Cancel structures (proposals) by list of structure elements.
-     * Return list of cancelled structure elements.
-     *
-     * @param structureElementCommands list of structure elements
-     * @return list of structure elements for cancelled structures
-     */
-    @Operation(
-            summary     = "Cancel structures (proposals) by array of structure elements",
-            description = """
-                          Cancel structures (proposals) by array of structure elements.
-                          Return array of structure elements for cancelled structures.
-
-                          Required attributes:
-                          - uuid
-                          - type
-                          """
-    )
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = "200",
-                    description  = "OK. Return array of structure elements for cancelled structures.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = StructureElement.class)))),
-            @ApiResponse(
-                    responseCode = "400",
-                    description  = "Bad request. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "404",
-                    description  = "Not Found. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "422",
-                    description  = "Unprocessable entity. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "500",
-                    description  = "Internal server error. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class)))
-    })
-    @PatchMapping(
-            value = "/cancel",
-            produces = {"application/json"},
-            consumes = {"application/json"})
-    public List<StructureElement> cancelStructures(
-            @Parameter(
-                    in = ParameterIn.DEFAULT,
-                    description = "array of structure elements",
-                    required = true,
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(
-                                    schema = @Schema(
-                                            implementation = StructureElementCommandConfirm.class,
-                                            requiredProperties = {"uuid","type"}))))
-            @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
-
-    /**
-     * Reject structures (proposals) by list of structure elements.
-     * Return list of rejected structure elements.
-     *
-     * @param structureElementCommands list of structure elements
-     * @return list of structure elements for rejected structures
-     */
-    @Operation(
-            summary     = "Reject structures (proposals) by array of structure elements",
-            description = """
-                          Reject structures (proposals) by array of structure elements.
-                          Return array of structure elements for rejected structures.
-
-                          Required attributes:
-                          - uuid
-                          - type
-                          """
-    )
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = "200",
-                    description  = "OK. Return array of structure elements for rejected structures.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = StructureElement.class)))),
-            @ApiResponse(
-                    responseCode = "400",
-                    description  = "Bad request. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "404",
-                    description  = "Not Found. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "422",
-                    description  = "Unprocessable entity. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class))),
-            @ApiResponse(
-                    responseCode = "500",
-                    description = "Internal server error. Reason and information such as message, details, field are available.",
-                    content = @Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = Response.class)))
-    })
-    @PatchMapping(
-            value = "/reject",
-            produces = {"application/json"},
-            consumes = {"application/json"})
-    public List<StructureElement> rejectStructures(
-            @Parameter(
-                    in = ParameterIn.DEFAULT,
-                    description = "array of structure elements",
-                    required = true,
-                    content = @Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(
-                                    schema = @Schema(
-                                            implementation = StructureElementCommandConfirm.class,
-                                            requiredProperties = {"uuid","type"}))))
-            @RequestBody List<StructureElementCommandConfirm> structureElementCommands);
-
 }
diff --git a/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java b/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java
index 00fe0668..1bba0aec 100644
--- a/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java
+++ b/src/main/java/org/openepics/names/rest/beans/element/StructureElementCommand.java
@@ -34,7 +34,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
  */
 @Schema(description = """
                       A collection of attributes that is used to encapsulate a command for a structure entry from client to server.
-                      It is used to create, update, delete and validate  and approve, cancel, reject a structure entry.
+                      It is used to create, update, delete and validate a structure entry.
                       """)
 public class StructureElementCommand implements Serializable {
 
diff --git a/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java b/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java
index ea62b67c..dc62dc85 100644
--- a/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java
+++ b/src/main/java/org/openepics/names/rest/controller/HealthcheckController.java
@@ -45,9 +45,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 @EnableAutoConfiguration
 public class HealthcheckController {
 
-    // note
-    //     global exception handler available
-    //
     // methods
     //     read      GET /healthcheck - readHealthcheck()
 
diff --git a/src/main/java/org/openepics/names/rest/controller/NamesController.java b/src/main/java/org/openepics/names/rest/controller/NamesController.java
index 0dfbcd49..ada3a8f2 100644
--- a/src/main/java/org/openepics/names/rest/controller/NamesController.java
+++ b/src/main/java/org/openepics/names/rest/controller/NamesController.java
@@ -58,7 +58,6 @@ import com.google.common.collect.Lists;
 public class NamesController implements INames {
 
     // note
-    //     global exception handler available
     //     controller layer to call validation prior to invoking service layer
     //         business logic may be validation
     //         different kinds of validation
diff --git a/src/main/java/org/openepics/names/rest/controller/ReportController.java b/src/main/java/org/openepics/names/rest/controller/ReportController.java
index 0884ee6f..5279214d 100644
--- a/src/main/java/org/openepics/names/rest/controller/ReportController.java
+++ b/src/main/java/org/openepics/names/rest/controller/ReportController.java
@@ -68,9 +68,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 @EnableAutoConfiguration
 public class ReportController {
 
-    // note
-    //     global exception handler available
-
     private static final String NEWLINE       = "\n";
     private static final String SPACE         = " ";
 
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 a14eb6be..a6ffcff9 100644
--- a/src/main/java/org/openepics/names/rest/controller/StructuresController.java
+++ b/src/main/java/org/openepics/names/rest/controller/StructuresController.java
@@ -60,7 +60,6 @@ import com.google.common.collect.Lists;
 public class StructuresController implements IStructures {
 
     // note
-    //     global exception handler available
     //     controller layer to call validation prior to invoking service layer
     //         business logic may be validation
     //         different kinds of validation
@@ -356,104 +355,6 @@ public class StructuresController implements IStructures {
         return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
     }
 
-    @Override
-    public ResponseEntity<ResponseBooleanList> validateStructuresApprove(List<StructureElementCommandConfirm> structureElementCommands) {
-        // convert
-        // validate
-
-        List<StructureElementCommand> commands = StructureElementUtil.convertCommandConfirm2Command(structureElementCommands);
-        boolean response = true;
-        String reason = "";
-        List<ResponseBoolean> responses = Lists.newArrayList();
-        for (StructureElementCommand command : commands) {
-            try {
-                structuresService.validateStructuresApprove(command);
-                responses.add(new ResponseBoolean(Boolean.TRUE));
-            } catch (ServiceException e) {
-                logService.logServiceException(LOGGER, Level.WARNING, e);
-                logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-                if (response) {
-                    response = false;
-                    reason = TextUtil.ONE_OR_MORE_ELEMENTS_ARE_NOT_CORRECT;
-                }
-                responses.add(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()));
-            } catch (Exception e) {
-                logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-                if (response) {
-                    response = false;
-                    reason = TextUtil.ONE_OR_MORE_ELEMENTS_ARE_NOT_CORRECT;
-                }
-                responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
-            }
-        }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
-    }
-
-    @Override
-    public ResponseEntity<ResponseBooleanList> validateStructuresCancel(List<StructureElementCommandConfirm> structureElementCommands) {
-        // validate
-
-        List<StructureElementCommand> commands = StructureElementUtil.convertCommandConfirm2Command(structureElementCommands);
-        boolean response = true;
-        String reason = "";
-        List<ResponseBoolean> responses = Lists.newArrayList();
-        for (StructureElementCommand command : commands) {
-            try {
-                structuresService.validateStructuresCancel(command);
-                responses.add(new ResponseBoolean(Boolean.TRUE));
-            } catch (ServiceException e) {
-                logService.logServiceException(LOGGER, Level.WARNING, e);
-                logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-                if (response) {
-                    response = false;
-                    reason = TextUtil.ONE_OR_MORE_ELEMENTS_ARE_NOT_CORRECT;
-                }
-                responses.add(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()));
-            } catch (Exception e) {
-                logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-                if (response) {
-                    response = false;
-                    reason = TextUtil.ONE_OR_MORE_ELEMENTS_ARE_NOT_CORRECT;
-                }
-                responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
-            }
-        }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
-    }
-
-    @Override
-    public ResponseEntity<ResponseBooleanList> validateStructuresReject(List<StructureElementCommandConfirm> structureElementCommands) {
-        // convert
-        // validate
-
-        List<StructureElementCommand> commands = StructureElementUtil.convertCommandConfirm2Command(structureElementCommands);
-        boolean response = true;
-        String reason = "";
-        List<ResponseBoolean> responses = Lists.newArrayList();
-        for (StructureElementCommand command : commands) {
-            try {
-                structuresService.validateStructuresReject(command);
-                responses.add(new ResponseBoolean(Boolean.TRUE));
-            } catch (ServiceException e) {
-                logService.logServiceException(LOGGER, Level.WARNING, e);
-                logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-                if (response) {
-                    response = false;
-                    reason = TextUtil.ONE_OR_MORE_ELEMENTS_ARE_NOT_CORRECT;
-                }
-                responses.add(new ResponseBoolean(Boolean.FALSE, e.getMessage(), e.getDetails(), e.getField()));
-            } catch (Exception e) {
-                logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-                if (response) {
-                    response = false;
-                    reason = TextUtil.ONE_OR_MORE_ELEMENTS_ARE_NOT_CORRECT;
-                }
-                responses.add(new ResponseBoolean(Boolean.FALSE, TextUtil.OPERATION_COULD_NOT_BE_PERFORMED));
-            }
-        }
-        return new ResponseEntity<>(new ResponseBooleanList(responses, Boolean.valueOf(response), reason), Response.getHeaderJson(), HttpStatus.OK);
-    }
-
     // ----------------------------------------------------------------------------------------------------
 
     @Override
@@ -501,69 +402,4 @@ public class StructuresController implements IStructures {
         }
     }
 
-    // ----------------------------------------------------------------------------------------------------
-
-    @Override
-    public List<StructureElement> approveStructures(List<StructureElementCommandConfirm> structureElementCommands) {
-        // validate authority - admin
-        // convert
-        // validate
-        // approve structures
-
-        try {
-            List<StructureElementCommand> commands = StructureElementUtil.convertCommandConfirm2Command(structureElementCommands);
-            structuresService.validateStructuresApprove(commands);
-            return structuresService.approveStructures(commands, TextUtil.TEST_WHO);
-        } catch (ServiceException e) {
-            logService.logServiceException(LOGGER, Level.WARNING, e);
-            logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-            throw e;
-        } catch (Exception e) {
-            logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-            throw e;
-        }
-    }
-
-    @Override
-    public List<StructureElement> cancelStructures(List<StructureElementCommandConfirm> structureElementCommands) {
-        // validate authority - admin
-        // convert
-        // validate
-        // cancel structures
-
-        try {
-            List<StructureElementCommand> commands = StructureElementUtil.convertCommandConfirm2Command(structureElementCommands);
-            structuresService.validateStructuresCancel(commands);
-            return structuresService.cancelStructures(commands, TextUtil.TEST_WHO);
-        } catch (ServiceException e) {
-            logService.logServiceException(LOGGER, Level.WARNING, e);
-            logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-            throw e;
-        } catch (Exception e) {
-            logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-            throw e;
-        }
-    }
-
-    @Override
-    public List<StructureElement> rejectStructures(List<StructureElementCommandConfirm> structureElementCommands) {
-        // validate authority - admin
-        // convert
-        // validate
-        // reject structures
-
-        try {
-            List<StructureElementCommand> commands = StructureElementUtil.convertCommandConfirm2Command(structureElementCommands);
-            structuresService.validateStructuresReject(commands);
-            return structuresService.rejectStructures(commands, TextUtil.TEST_WHO);
-        } catch (ServiceException e) {
-            logService.logServiceException(LOGGER, Level.WARNING, e);
-            logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-            throw e;
-        } catch (Exception e) {
-            logService.logStackTraceElements(LOGGER, Level.WARNING, e);
-            throw e;
-        }
-    }
-
 }
diff --git a/src/main/java/org/openepics/names/rest/controller/VerificationController.java b/src/main/java/org/openepics/names/rest/controller/VerificationController.java
index 383afa51..b77ac693 100644
--- a/src/main/java/org/openepics/names/rest/controller/VerificationController.java
+++ b/src/main/java/org/openepics/names/rest/controller/VerificationController.java
@@ -140,9 +140,6 @@ import io.swagger.v3.oas.annotations.Hidden;
 @EnableAutoConfiguration
 public class VerificationController {
 
-    // note
-    //     global exception handler available
-    //
     // methods
     //     read      GET /verification/migration_namepartrevision - readMigrationStructures
     //     read      GET /verification/migration_devicerevision   - readMigrationNames
diff --git a/src/main/java/org/openepics/names/service/DeviceGroupService.java b/src/main/java/org/openepics/names/service/DeviceGroupService.java
index 19d2600e..5a6bf99e 100644
--- a/src/main/java/org/openepics/names/service/DeviceGroupService.java
+++ b/src/main/java/org/openepics/names/service/DeviceGroupService.java
@@ -39,7 +39,6 @@ import org.openepics.names.util.HolderStructures;
 import org.openepics.names.util.StructureChoice;
 import org.openepics.names.util.StructureCommand;
 import org.openepics.names.util.StructureElementUtil;
-import org.openepics.names.util.StructureUtil;
 import org.openepics.names.util.TextUtil;
 import org.openepics.names.util.ValidateUtil;
 import org.openepics.names.util.notification.NotificationUtil;
@@ -58,31 +57,23 @@ import com.google.common.collect.Lists;
 @Service
 public class DeviceGroupService {
 
-    // note
-    //     structurecommand
-    //         cud - create update delete
-    //         acr - approve cancel reject
-
     private static final Logger LOGGER = Logger.getLogger(DeviceGroupService.class.getName());
 
     private IDeviceGroupRepository iDeviceGroupRepository;
     private IDeviceTypeRepository iDeviceTypeRepository;
     private DeviceGroupRepository deviceGroupRepository;
     private DeviceTypeService deviceTypeService;
-    private NamesService namesService;
 
     @Autowired
     public DeviceGroupService(
             IDeviceGroupRepository iDeviceGroupRepository,
             IDeviceTypeRepository iDeviceTypeRepository,
             DeviceGroupRepository deviceGroupRepository,
-            DeviceTypeService deviceTypeService,
-            NamesService namesService) {
+            DeviceTypeService deviceTypeService) {
         this.iDeviceGroupRepository = iDeviceGroupRepository;
         this.iDeviceTypeRepository = iDeviceTypeRepository;
         this.deviceGroupRepository = deviceGroupRepository;
         this.deviceTypeService = deviceTypeService;
-        this.namesService = namesService;
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -90,8 +81,7 @@ public class DeviceGroupService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
+        //     create structure - approved, latest, not deleted
         //     return
         //         structure element for created structure
         //         notification
@@ -110,13 +100,15 @@ public class DeviceGroupService {
         // create
         DeviceGroup deviceGroup = new DeviceGroup(UUID.randomUUID(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         deviceGroupRepository.createDeviceGroup(deviceGroup);
 
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.CREATE));
+
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(deviceGroup),
-                NotificationUtil.prepareNotification(Type.DEVICEGROUP, StructureCommand.CREATE, null, null, deviceGroup, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(deviceGroup, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.DEVICEGROUP, StructureCommand.CREATE, null, deviceGroup, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -124,9 +116,9 @@ public class DeviceGroupService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
-        //     find out previous
+        //     update not latest
+        //     create structure - approved, latest, not deleted
+        //     previous for notification
         //     return
         //         structure element for updated structure
         //         notification
@@ -138,87 +130,51 @@ public class DeviceGroupService {
         //     namingConvention.equivalenceClassRepresentative return null for null input
         //     rules for mnemonic
 
+        String uuid = structureElementCommand.getUuid().toString();
         String mnemonic = structureElementCommand.getMnemonic();
         mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
         String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic);
 
+        // find
+        List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
+        DeviceGroup deviceGroup = null;
+        if (ValidateUtil.isSize(deviceGroups, 1)) {
+            deviceGroup = deviceGroups.get(0);
+
+            // update not latest
+            deviceGroup.setLatest(Boolean.FALSE);
+            deviceGroupRepository.updateDeviceGroup(deviceGroup);
+        }
+
         // create
-        DeviceGroup deviceGroup = new DeviceGroup(structureElementCommand.getUuid(), structureElementCommand.getParent(),
+        deviceGroup = new DeviceGroup(structureElementCommand.getUuid(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         deviceGroupRepository.createDeviceGroup(deviceGroup);
 
         // previous
-        List<DeviceGroup> previouses = iDeviceGroupRepository.findPreviousByUuidAndId(deviceGroup.getUuid().toString(),  deviceGroup.getId());
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(deviceGroup),
-                NotificationUtil.prepareNotification(Type.DEVICEGROUP, StructureCommand.UPDATE, null,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, deviceGroup, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     create structure to pending, not latest, deleted, with data
-        //     return
-        //         structure element for deleted structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        List<DeviceGroup> previouses = iDeviceGroupRepository.findPreviousByUuidAndId(deviceGroup.getUuid().toString(), deviceGroup.getId());
+        DeviceGroup previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
-        // find
-        List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
-            return null;
-        }
-        DeviceGroup toBeDeleted = deviceGroups.get(0);
-
-        // create
-        DeviceGroup deviceGroup = new DeviceGroup(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(),
-                toBeDeleted.getMnemonic(), toBeDeleted.getMnemonicEquivalence(), toBeDeleted.getOrdering(),
-                toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE,
-                when, username, null);
-        deviceGroupRepository.createDeviceGroup(deviceGroup);
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.UPDATE));
 
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(deviceGroup),
-                NotificationUtil.prepareNotification(Type.DEVICEGROUP, StructureCommand.DELETE, null, null, deviceGroup, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(deviceGroup, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.DEVICEGROUP, StructureCommand.UPDATE, previous, deviceGroup, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification approveStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
+    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
         //     update not latest
-        //     find
-        //     approve - update structure to status APPROVED, latest to true
-        //     additional
-        //         find out previous to find out what is approved - create update delete
-        //         approve create
-        //             automatically create name when system structure is approved
-        //             condition on name and structure entry
-        //                 system structure should exist (uuid), one entry that is not deleted
-        //                 name should not exist (system structure mnemonic)
-        //             within current transaction
-        //         approve update
-        //             update related names
-        //             for different mnemonic
-        //             not for device group
-        //         approve delete
-        //             delete related names
-        //             delete sub structures
+        //     create structure - approved, latest, deleted
+        //     previous for notification
+        //     additional - delete sub structures (and related names)
         //     return
-        //         structure element for approved structure
+        //         structure element for deleted structure
         //         notification
         //
         // attributes
@@ -235,130 +191,37 @@ public class DeviceGroupService {
             // update not latest
             deviceGroup.setLatest(Boolean.FALSE);
             deviceGroupRepository.updateDeviceGroup(deviceGroup);
-        }
-
-        // find
-        deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
+        } else {
             return null;
         }
-        deviceGroup = deviceGroups.get(0);
 
-        // approve
-        deviceGroup.setAttributesStatusProcessed(Status.APPROVED, when, username, null);
-        deviceGroup.setLatest(Boolean.TRUE);
-        deviceGroupRepository.updateDeviceGroup(deviceGroup);
+        // create
+        deviceGroup = new DeviceGroup(deviceGroup.getUuid(), deviceGroup.getParentUuid(),
+                deviceGroup.getMnemonic(), deviceGroup.getMnemonicEquivalence(), deviceGroup.getOrdering(),
+                deviceGroup.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                when, username, null);
+        deviceGroupRepository.createDeviceGroup(deviceGroup);
 
         // previous
         List<DeviceGroup> previouses = iDeviceGroupRepository.findPreviousByUuidAndId(uuid, deviceGroup.getId());
-        StructureCommand structureCommandCUD = StructureUtil.getStructureCommandCUD(previouses, deviceGroup);
         DeviceGroup previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
         // additional
-        if (StructureCommand.DELETE.equals(structureCommandCUD)) {
-            // will propagate to sub structures and related names
-
-            // delete sub structures - delete, approve
-            List<StructureElementCommand> commands = Lists.newArrayList();
-            List<DeviceType> deviceTypes = iDeviceTypeRepository.findLatestNotDeletedByParent(uuid);
-            for (DeviceType deviceType : deviceTypes) {
-                commands.add(new StructureElementCommand(deviceType.getUuid(), Type.DEVICETYPE, null, null, null, null));
-            }
-            for (StructureElementCommand command : commands) {
-                deviceTypeService.deleteStructure(command, when, username, holderStructures);
-            }
-            for (StructureElementCommand command : commands) {
-                deviceTypeService.approveStructure(command, when, username, holderStructures);
-            }
+        //     will propagate to sub structures
+        List<StructureElementCommand> commands = Lists.newArrayList();
+        List<DeviceType> deviceTypes = iDeviceTypeRepository.findLatestNotDeletedByParent(uuid);
+        for (DeviceType deviceType : deviceTypes) {
+            commands.add(new StructureElementCommand(deviceType.getUuid(), Type.DEVICETYPE, null, null, null, null));
         }
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(deviceGroup, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DEVICEGROUP, structureCommandCUD, StructureCommand.APPROVE, previous, deviceGroup, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification cancelStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     cancel - update structure to status CANCELLED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
-            return null;
+        for (StructureElementCommand command : commands) {
+            deviceTypeService.deleteStructure(command, when, username, holderStructures);
         }
-        DeviceGroup deviceGroup = deviceGroups.get(0);
-
-        // cancel
-        deviceGroup.setAttributesStatusProcessed(Status.CANCELLED, when, username, null);
-        deviceGroupRepository.updateDeviceGroup(deviceGroup);
-
-        // previous
-        List<DeviceGroup> previouses = iDeviceGroupRepository.findPreviousByUuidAndId(uuid, deviceGroup.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, deviceGroup);
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(deviceGroup, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DEVICEGROUP, structureCommandCUD, StructureCommand.CANCEL,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, deviceGroup, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification rejectStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     reject - update structure to status REJECTED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) {
-            return null;
-        }
-        DeviceGroup deviceGroup = deviceGroups.get(0);
-
-        // reject
-        deviceGroup.setAttributesStatusProcessed(Status.REJECTED, when, username, null);
-        deviceGroupRepository.updateDeviceGroup(deviceGroup);
-
-        // previous
-        List<DeviceGroup> previouses = iDeviceGroupRepository.findPreviousByUuidAndId(uuid, deviceGroup.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, deviceGroup);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_STRUCTURE, TextUtil.COMMAND, StructureCommand.DELETE));
 
         return new StructureElementNotification(
                 StructureElementUtil.getStructureElementProcessed(deviceGroup, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DEVICEGROUP, structureCommandCUD, StructureCommand.REJECT,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, deviceGroup, holderStructures));
+                NotificationUtil.prepareNotification(Type.DEVICEGROUP, StructureCommand.DELETE, previous, deviceGroup, holderStructures));
     }
 
 }
diff --git a/src/main/java/org/openepics/names/service/DeviceTypeService.java b/src/main/java/org/openepics/names/service/DeviceTypeService.java
index bf6e61fb..fd339d82 100644
--- a/src/main/java/org/openepics/names/service/DeviceTypeService.java
+++ b/src/main/java/org/openepics/names/service/DeviceTypeService.java
@@ -37,7 +37,6 @@ import org.openepics.names.util.HolderStructures;
 import org.openepics.names.util.StructureChoice;
 import org.openepics.names.util.StructureCommand;
 import org.openepics.names.util.StructureElementUtil;
-import org.openepics.names.util.StructureUtil;
 import org.openepics.names.util.TextUtil;
 import org.openepics.names.util.ValidateUtil;
 import org.openepics.names.util.notification.NotificationUtil;
@@ -54,11 +53,6 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class DeviceTypeService {
 
-    // note
-    //     structurecommand
-    //         cud - create update delete
-    //         acr - approve cancel reject
-
     private static final Logger LOGGER = Logger.getLogger(DeviceTypeService.class.getName());
 
     private IDeviceTypeRepository iDeviceTypeRepository;
@@ -80,8 +74,7 @@ public class DeviceTypeService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
+        //     create structure - approved, latest, not deleted
         //     return
         //         structure element for created structure
         //         notification
@@ -100,13 +93,15 @@ public class DeviceTypeService {
         // create
         DeviceType deviceType = new DeviceType(UUID.randomUUID(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         deviceTypeRepository.createDeviceType(deviceType);
 
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.CREATE));
+
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(deviceType),
-                NotificationUtil.prepareNotification(Type.DEVICETYPE, StructureCommand.CREATE, null, null, deviceType, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(deviceType, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.DEVICETYPE, StructureCommand.CREATE, null, deviceType, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -114,9 +109,10 @@ public class DeviceTypeService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
-        //     find out previous
+        //     update not latest
+        //     create structure - approved, latest, not deleted
+        //     previous for notification
+        //     additional - update related names
         //     return
         //         structure element for updated structure
         //         notification
@@ -128,87 +124,54 @@ public class DeviceTypeService {
         //     namingConvention.equivalenceClassRepresentative return null for null input
         //     rules for mnemonic
 
+        String uuid = structureElementCommand.getUuid().toString();
         String mnemonic = structureElementCommand.getMnemonic();
         mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
         String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic);
 
+        // find
+        List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
+        DeviceType deviceType = null;
+        if (ValidateUtil.isSize(deviceTypes, 1)) {
+            deviceType = deviceTypes.get(0);
+
+            // update not latest
+            deviceType.setLatest(Boolean.FALSE);
+            deviceTypeRepository.updateDeviceType(deviceType);
+        }
+
         // create
-        DeviceType deviceType = new DeviceType(structureElementCommand.getUuid(), structureElementCommand.getParent(),
+        deviceType = new DeviceType(structureElementCommand.getUuid(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         deviceTypeRepository.createDeviceType(deviceType);
 
         // previous
-        List<DeviceType> previouses = iDeviceTypeRepository.findPreviousByUuidAndId(deviceType.getUuid().toString(),  deviceType.getId());
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(deviceType),
-                NotificationUtil.prepareNotification(Type.DEVICETYPE, StructureCommand.UPDATE, null,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, deviceType, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     create structure to pending, not latest, deleted, with data
-        //     return
-        //         structure element for deleted structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        List<DeviceType> previouses = iDeviceTypeRepository.findPreviousByUuidAndId(deviceType.getUuid().toString(), deviceType.getId());
+        DeviceType previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
-        // find
-        List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
-            return null;
-        }
-        DeviceType toBeDeleted = deviceTypes.get(0);
+        // additional
+        namesService.updateNames(previous, deviceType, username);
 
-        // create
-        DeviceType deviceType = new DeviceType(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(),
-                toBeDeleted.getMnemonic(), toBeDeleted.getMnemonicEquivalence(), toBeDeleted.getOrdering(),
-                toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE,
-                when, username, null);
-        deviceTypeRepository.createDeviceType(deviceType);
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.UPDATE));
 
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(deviceType),
-                NotificationUtil.prepareNotification(Type.DEVICETYPE, StructureCommand.DELETE, null, null, deviceType, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(deviceType, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.DEVICETYPE, StructureCommand.UPDATE, previous, deviceType, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification approveStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
+    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
         //     update not latest
-        //     find
-        //     approve - update structure to status APPROVED, latest to true
-        //     additional
-        //         find out previous to find out what is approved - create update delete
-        //         approve create
-        //             automatically create name when system structure is approved
-        //             condition on name and structure entry
-        //             system structure should exist (uuid), one entry that is not deleted
-        //                 name should not exist (system structure mnemonic)
-        //             within current transaction
-        //         approve update
-        //             update related names
-        //             for different mnemonic
-        //             not for device group
-        //         approve delete
-        //             delete related names
-        //             delete sub structures
+        //     create structure - approved, latest, deleted
+        //     previous for notification
+        //     additional - delete related names
         //     return
-        //         structure element for approved structure
+        //         structure element for deleted structure
         //         notification
         //
         // attributes
@@ -225,120 +188,29 @@ public class DeviceTypeService {
             // update not latest
             deviceType.setLatest(Boolean.FALSE);
             deviceTypeRepository.updateDeviceType(deviceType);
-        }
-
-        // find
-        deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
+        } else {
             return null;
         }
-        deviceType = deviceTypes.get(0);
 
-        // approve
-        deviceType.setAttributesStatusProcessed(Status.APPROVED, when, username, null);
-        deviceType.setLatest(Boolean.TRUE);
-        deviceTypeRepository.updateDeviceType(deviceType);
+        // create
+        deviceType = new DeviceType(deviceType.getUuid(), deviceType.getParentUuid(),
+                deviceType.getMnemonic(), deviceType.getMnemonicEquivalence(), deviceType.getOrdering(),
+                deviceType.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                when, username, null);
+        deviceTypeRepository.createDeviceType(deviceType);
 
         // previous
         List<DeviceType> previouses = iDeviceTypeRepository.findPreviousByUuidAndId(uuid, deviceType.getId());
-        StructureCommand structureCommandCUD = StructureUtil.getStructureCommandCUD(previouses, deviceType);
         DeviceType previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
         // additional
-        if (StructureCommand.UPDATE.equals(structureCommandCUD)) {
-            // update related names
-            namesService.updateNames(previous, deviceType, username);
-        } else if (StructureCommand.DELETE.equals(structureCommandCUD)) {
-            // delete related names
-            namesService.deleteNames(deviceType, username);
-        }
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(deviceType, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DEVICETYPE, structureCommandCUD, StructureCommand.APPROVE, previous, deviceType, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification cancelStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     cancel - update structure to status CANCELLED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
-            return null;
-        }
-        DeviceType deviceType = deviceTypes.get(0);
-
-        // cancel
-        deviceType.setAttributesStatusProcessed(Status.CANCELLED, when, username, null);
-        deviceTypeRepository.updateDeviceType(deviceType);
-
-        // previous
-        List<DeviceType> previouses = iDeviceTypeRepository.findPreviousByUuidAndId(uuid, deviceType.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, deviceType);
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(deviceType, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DEVICETYPE, structureCommandCUD, StructureCommand.CANCEL,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, deviceType, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification rejectStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     reject - update structure to status REJECTED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) {
-            return null;
-        }
-        DeviceType deviceType = deviceTypes.get(0);
-
-        // reject
-        deviceType.setAttributesStatusProcessed(Status.REJECTED, when, username, null);
-        deviceTypeRepository.updateDeviceType(deviceType);
-
-        // previous
-        List<DeviceType> previouses = iDeviceTypeRepository.findPreviousByUuidAndId(uuid, deviceType.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, deviceType);
+        namesService.deleteNames(deviceType, username);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_STRUCTURE, TextUtil.COMMAND, StructureCommand.DELETE));
 
         return new StructureElementNotification(
                 StructureElementUtil.getStructureElementProcessed(deviceType, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DEVICETYPE, structureCommandCUD, StructureCommand.REJECT,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, deviceType, holderStructures));
+                NotificationUtil.prepareNotification(Type.DEVICETYPE, StructureCommand.DELETE, previous, deviceType, holderStructures));
     }
 
 }
diff --git a/src/main/java/org/openepics/names/service/DisciplineService.java b/src/main/java/org/openepics/names/service/DisciplineService.java
index b88016e7..a99f66a1 100644
--- a/src/main/java/org/openepics/names/service/DisciplineService.java
+++ b/src/main/java/org/openepics/names/service/DisciplineService.java
@@ -39,7 +39,6 @@ import org.openepics.names.util.HolderStructures;
 import org.openepics.names.util.StructureChoice;
 import org.openepics.names.util.StructureCommand;
 import org.openepics.names.util.StructureElementUtil;
-import org.openepics.names.util.StructureUtil;
 import org.openepics.names.util.TextUtil;
 import org.openepics.names.util.ValidateUtil;
 import org.openepics.names.util.notification.NotificationUtil;
@@ -58,11 +57,6 @@ import com.google.common.collect.Lists;
 @Service
 public class DisciplineService {
 
-    // note
-    //     structurecommand
-    //         cud - create update delete
-    //         acr - approve cancel reject
-
     private static final Logger LOGGER = Logger.getLogger(DisciplineService.class.getName());
 
     private IDisciplineRepository iDisciplineRepository;
@@ -90,8 +84,7 @@ public class DisciplineService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
+        //     create structure - approved, latest, not deleted
         //     return
         //         structure element for created structure
         //         notification
@@ -110,13 +103,15 @@ public class DisciplineService {
         // create
         Discipline discipline = new Discipline(UUID.randomUUID(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         disciplineRepository.createDiscipline(discipline);
 
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.CREATE));
+
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(discipline),
-                NotificationUtil.prepareNotification(Type.DISCIPLINE, StructureCommand.CREATE, null, null, discipline, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(discipline, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.DISCIPLINE, StructureCommand.CREATE, null, discipline, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -124,9 +119,10 @@ public class DisciplineService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
-        //     find out previous
+        //     update not latest
+        //     create structure - approved, latest, not deleted
+        //     previous for notification
+        //     additional - update related names
         //     return
         //         structure element for updated structure
         //         notification
@@ -138,87 +134,54 @@ public class DisciplineService {
         //     namingConvention.equivalenceClassRepresentative return null for null input
         //     rules for mnemonic
 
+        String uuid = structureElementCommand.getUuid().toString();
         String mnemonic = structureElementCommand.getMnemonic();
         mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
         String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic);
 
+        // find
+        List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
+        Discipline discipline = null;
+        if (ValidateUtil.isSize(disciplines, 1)) {
+            discipline = disciplines.get(0);
+
+            // update not latest
+            discipline.setLatest(Boolean.FALSE);
+            disciplineRepository.updateDiscipline(discipline);
+        }
+
         // create
-        Discipline discipline = new Discipline(structureElementCommand.getUuid(),
+        discipline = new Discipline(structureElementCommand.getUuid(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         disciplineRepository.createDiscipline(discipline);
 
         // previous
-        List<Discipline> previouses = iDisciplineRepository.findPreviousByUuidAndId(discipline.getUuid().toString(),  discipline.getId());
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(discipline),
-                NotificationUtil.prepareNotification(Type.DISCIPLINE, StructureCommand.UPDATE, null,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, discipline, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     create structure to pending, not latest, deleted, with data
-        //     return
-        //         structure element for deleted structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        List<Discipline> previouses = iDisciplineRepository.findPreviousByUuidAndId(discipline.getUuid().toString(), discipline.getId());
+        Discipline previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
-        // find
-        List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
-            return null;
-        }
-        Discipline toBeDeleted = disciplines.get(0);
+        // additional
+        namesService.updateNames(previous, discipline, username);
 
-        // create
-        Discipline discipline = new Discipline(toBeDeleted.getUuid(),
-                toBeDeleted.getMnemonic(), toBeDeleted.getMnemonicEquivalence(), toBeDeleted.getOrdering(),
-                toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE,
-                when, username, null);
-        disciplineRepository.createDiscipline(discipline);
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.UPDATE));
 
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(discipline),
-                NotificationUtil.prepareNotification(Type.DISCIPLINE, StructureCommand.DELETE, null, null, discipline, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(discipline, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.DISCIPLINE, StructureCommand.UPDATE, previous, discipline, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification approveStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
+    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
         //     update not latest
-        //     find
-        //     approve - update structure to status APPROVED, latest to true
-        //     additional
-        //         find out previous to find out what is approved - create update delete
-        //         approve create
-        //             automatically create name when system structure is approved
-        //             condition on name and structure entry
-        //                 system structure should exist (uuid), one entry that is not deleted
-        //                 name should not exist (system structure mnemonic)
-        //             within current transaction
-        //         approve update
-        //             update related names
-        //             for different mnemonic
-        //             not for device group
-        //         approve delete
-        //             delete related names
-        //             delete sub structures
+        //     create structure - approved, latest, deleted
+        //     previous for notification
+        //     additional - delete related names, delete sub structures (and related names)
         //     return
-        //         structure element for approved structure
+        //         structure element for deleted structure
         //         notification
         //
         // attributes
@@ -226,6 +189,7 @@ public class DisciplineService {
 
         String uuid = structureElementCommand.getUuid().toString();
 
+        // find
         List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
         Discipline discipline = null;
         if (ValidateUtil.isSize(disciplines, 1)) {
@@ -234,136 +198,39 @@ public class DisciplineService {
             // update not latest
             discipline.setLatest(Boolean.FALSE);
             disciplineRepository.updateDiscipline(discipline);
-        }
-
-        // find
-        disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
+        } else {
             return null;
         }
-        discipline = disciplines.get(0);
 
-        // approve
-        discipline.setAttributesStatusProcessed(Status.APPROVED, when, username, null);
-        discipline.setLatest(Boolean.TRUE);
-        disciplineRepository.updateDiscipline(discipline);
+        // create
+        discipline = new Discipline(discipline.getUuid(),
+                discipline.getMnemonic(), discipline.getMnemonicEquivalence(), discipline.getOrdering(),
+                discipline.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                when, username, null);
+        disciplineRepository.createDiscipline(discipline);
 
         // previous
         List<Discipline> previouses = iDisciplineRepository.findPreviousByUuidAndId(uuid, discipline.getId());
-        StructureCommand structureCommandCUD = StructureUtil.getStructureCommandCUD(previouses, discipline);
         Discipline previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
         // additional
-        if (StructureCommand.UPDATE.equals(structureCommandCUD)) {
-            // update related names
-            namesService.updateNames(previous, discipline, username);
-        } else if (StructureCommand.DELETE.equals(structureCommandCUD)) {
-            // will propagate to sub structures and related names
-
-            // delete related names
-            namesService.deleteNames(discipline, username);
-
-            // delete sub structures - delete, approve
-            List<StructureElementCommand> commands = Lists.newArrayList();
-            List<DeviceGroup> deviceGroups = iDeviceGroupRepository.findLatestNotDeletedByParent(uuid);
-            for (DeviceGroup deviceGroup : deviceGroups) {
-                commands.add(new StructureElementCommand(deviceGroup.getUuid(), Type.DEVICEGROUP, null, null, null, null));
-            }
-            for (StructureElementCommand command : commands) {
-                deviceGroupService.deleteStructure(command, when, username, holderStructures);
-            }
-            for (StructureElementCommand command : commands) {
-                deviceGroupService.approveStructure(command, when, username, holderStructures);
-            }
-        }
+        //     will propagate to sub structures
+        namesService.deleteNames(discipline, username);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(discipline, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DISCIPLINE, structureCommandCUD, StructureCommand.APPROVE, previous, discipline, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification cancelStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     cancel - update structure to status CANCELLED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
-            return null;
+        List<StructureElementCommand> commands = Lists.newArrayList();
+        List<DeviceGroup> deviceGroups = iDeviceGroupRepository.findLatestNotDeletedByParent(uuid);
+        for (DeviceGroup deviceGroup : deviceGroups) {
+            commands.add(new StructureElementCommand(deviceGroup.getUuid(), Type.DEVICEGROUP, null, null, null, null));
         }
-        Discipline discipline = disciplines.get(0);
-
-        // cancel
-        discipline.setAttributesStatusProcessed(Status.CANCELLED, when, username, null);
-        disciplineRepository.updateDiscipline(discipline);
-
-        // previous
-        List<Discipline> previouses = iDisciplineRepository.findPreviousByUuidAndId(uuid, discipline.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, discipline);
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(discipline, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DISCIPLINE, structureCommandCUD, StructureCommand.CANCEL,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, discipline, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification rejectStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     reject - update structure to status REJECTED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(disciplines, 1)) {
-            return null;
+        for (StructureElementCommand command : commands) {
+            deviceGroupService.deleteStructure(command, when, username, holderStructures);
         }
-        Discipline discipline = disciplines.get(0);
-
-        // reject
-        discipline.setAttributesStatusProcessed(Status.REJECTED, when, username, null);
-        disciplineRepository.updateDiscipline(discipline);
-
-        // previous
-        List<Discipline> previouses = iDisciplineRepository.findPreviousByUuidAndId(uuid, discipline.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, discipline);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_STRUCTURE, TextUtil.COMMAND, StructureCommand.DELETE));
 
         return new StructureElementNotification(
                 StructureElementUtil.getStructureElementProcessed(discipline, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.DISCIPLINE, structureCommandCUD, StructureCommand.REJECT,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, discipline, holderStructures));
+                NotificationUtil.prepareNotification(Type.DISCIPLINE, StructureCommand.DELETE, previous, discipline, holderStructures));
     }
 
 }
diff --git a/src/main/java/org/openepics/names/service/NamesService.java b/src/main/java/org/openepics/names/service/NamesService.java
index 3663acbd..c7699eeb 100644
--- a/src/main/java/org/openepics/names/service/NamesService.java
+++ b/src/main/java/org/openepics/names/service/NamesService.java
@@ -90,11 +90,11 @@ public class NamesService {
 
     private static final Logger LOGGER = Logger.getLogger(NamesService.class.getName());
 
+    private EssNamingConvention namingConvention;
     private HolderIRepositories holderIRepositories;
     private HolderRepositories holderRepositories;
     // convenience, also part of holderRepositories
     private NameRepository nameRepository;
-    private EssNamingConvention namingConvention;
 
     @Autowired
     public NamesService(
@@ -425,10 +425,7 @@ public class NamesService {
         //         data itself
         //         relative other data
 
-        // validate input
         ValidateNameElementUtil.validateNameElementInputCreate(nameElement);
-
-        // validate data
         ValidateNameElementUtil.validateNameElementDataCreate(nameElement, namingConvention, holderIRepositories, nameRepository, holderStructures);
     }
     public void validateNamesCreate(List<NameElementCommand> nameElements) {
@@ -451,10 +448,7 @@ public class NamesService {
         //         data itself
         //         relative other data
 
-        // validate input
         ValidateNameElementUtil.validateNameElementInputUpdate(nameElement);
-
-        // validate data
         ValidateNameElementUtil.validateNameElementDataUpdate(nameElement, namingConvention, holderIRepositories, nameRepository, holderStructures);
     }
     public void validateNamesUpdate(List<NameElementCommand> nameElements) {
@@ -477,10 +471,7 @@ public class NamesService {
         //         data itself
         //         relative other data
 
-        // validate input
         ValidateNameElementUtil.validateNameElementInputDelete(nameElement);
-
-        // validate data
         ValidateNameElementUtil.validateNameElementDataDelete(nameElement, namingConvention, holderIRepositories, nameRepository, holderStructures);
     }
     public void validateNamesDelete(List<NameElementCommand> nameElements) {
@@ -614,7 +605,7 @@ public class NamesService {
             if (previousStructure instanceof SystemGroup && structure instanceof SystemGroup) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestBySystemGroupUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySystemGroupUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -624,7 +615,7 @@ public class NamesService {
             } else if (previousStructure instanceof System && structure instanceof System) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestBySystemUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySystemUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -632,7 +623,7 @@ public class NamesService {
                                     name.getInstanceIndex(), name.getDescription()));
                 }
 
-                names = holderIRepositories.nameRepository().findLatestBySystemUuidThroughSubsystem(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySystemUuidThroughSubsystem(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -642,7 +633,7 @@ public class NamesService {
             } else if (previousStructure instanceof Subsystem && structure instanceof Subsystem) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestBySubsystemUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySubsystemUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -652,7 +643,7 @@ public class NamesService {
             } else if (previousStructure instanceof Discipline && structure instanceof Discipline) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestByDisciplineUuidThroughDeviceType(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedByDisciplineUuidThroughDeviceType(structure.getUuid().toString());
                 for (Name name : names) {
                     parentSystemStructure = NameUtil.getParentSystemStructure(name);
                     nameElements.add(
@@ -663,7 +654,7 @@ public class NamesService {
             } else if (previousStructure instanceof DeviceType && structure instanceof DeviceType) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestByDeviceTypeUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedByDeviceTypeUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     parentSystemStructure = NameUtil.getParentSystemStructure(name);
                     nameElements.add(
@@ -763,7 +754,7 @@ public class NamesService {
             if (structure instanceof SystemGroup) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestBySystemGroupUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySystemGroupUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -773,7 +764,7 @@ public class NamesService {
             } else if (structure instanceof System) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestBySystemUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySystemUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -783,7 +774,7 @@ public class NamesService {
             } else if (structure instanceof Subsystem) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestBySubsystemUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedBySubsystemUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     nameElements.add(
                             new NameElementCommand(
@@ -793,7 +784,7 @@ public class NamesService {
             } else if (structure instanceof DeviceType) {
                 // find
                 // prepare
-                names = holderIRepositories.nameRepository().findLatestByDeviceTypeUuid(structure.getUuid().toString());
+                names = holderIRepositories.nameRepository().findLatestNotDeletedByDeviceTypeUuid(structure.getUuid().toString());
                 for (Name name : names) {
                     parentSystemStructure = NameUtil.getParentSystemStructure(name);
                     nameElements.add(
diff --git a/src/main/java/org/openepics/names/service/NotificationService.java b/src/main/java/org/openepics/names/service/NotificationService.java
index 70e25f41..74d906d2 100644
--- a/src/main/java/org/openepics/names/service/NotificationService.java
+++ b/src/main/java/org/openepics/names/service/NotificationService.java
@@ -52,13 +52,11 @@ public class NotificationService {
 
     private static final String NOTIFY_NAMES_CREATED_UPDATED_DELETED =
             "Notify names, # created: {0}, # updated: {1}, # deleted: {2}";
-    private static final String NOTIFY_STRUCTURES_CREATED_UPDATED_DELETED_APPROVED_CANCELLED_REJECTED =
-            "Notify structures, # created: {0}, # updated: {1}, # deleted: {2}"
-            + ", # approved: {3}, # cancelled: {4}, # rejected: {5}";
+    private static final String NOTIFY_STRUCTURES_CREATED_UPDATED_DELETED =
+            "Notify structures, # created: {0}, # updated: {1}, # deleted: {2}";
 
-    private static final String CHANGES_NOTIFICATION_NAMES             = "[Changes for names]";
-    private static final String CHANGES_NOTIFICATION_STRUCTURES        = "[Changes for structures]";
-    private static final String CHANGES_NOTIFICATION_STRUCTURES_ACTION = "[Changes for structures - need action]";
+    private static final String CHANGES_NOTIFICATION_NAMES      = "[Changes for names]";
+    private static final String CHANGES_NOTIFICATION_STRUCTURES = "[Changes for structures]";
 
     private static final String ADD_FOOTER  = "addfooter";
     private static final String BACKEND_URL = "backendurl";
@@ -155,17 +153,11 @@ public class NotificationService {
      */
     public void notifyStructures(List<NotificationStructure> notifications, StructureCommand structureCommand) {
         if (StructureCommand.CREATE.equals(structureCommand)) {
-            notifyStructures(notifications, null, null, null, null, null);
+            notifyStructures(notifications, null, null);
         } else if (StructureCommand.UPDATE.equals(structureCommand)) {
-            notifyStructures(null, notifications, null, null, null, null);
+            notifyStructures(null, notifications, null);
         } else if (StructureCommand.DELETE.equals(structureCommand)) {
-            notifyStructures(null, null, notifications, null, null, null);
-        } else if (StructureCommand.APPROVE.equals(structureCommand)) {
-            notifyStructures(null, null, null, notifications, null, null);
-        } else if (StructureCommand.CANCEL.equals(structureCommand)) {
-            notifyStructures(null, null, null, null, notifications, null);
-        } else if (StructureCommand.REJECT.equals(structureCommand)) {
-            notifyStructures(null, null, null, null, null, notifications);
+            notifyStructures(null, null, notifications);
         }
     }
 
@@ -175,43 +167,28 @@ public class NotificationService {
      * @param created list of notifications for created structures
      * @param updated list of notifications for updated structures
      * @param deleted list of notifications for deleted structures
-     * @param approved list of notifications for approved structures
-     * @param cancelled list of notifications for cancelled structures
-     * @param rejected list of notifications for rejected structures
      */
     public void notifyStructures(
             List<NotificationStructure> created,
             List<NotificationStructure> updated,
-            List<NotificationStructure> deleted,
-            List<NotificationStructure> approved,
-            List<NotificationStructure> cancelled,
-            List<NotificationStructure> rejected) {
+            List<NotificationStructure> deleted) {
 
         NotificationUtil.sortByNewMnemonicpath(created);
         NotificationUtil.sortByNewMnemonicpath(updated);
         NotificationUtil.sortByNewMnemonicpath(deleted);
-        NotificationUtil.sortByNewMnemonicpath(approved);
-        NotificationUtil.sortByNewMnemonicpath(cancelled);
-        NotificationUtil.sortByNewMnemonicpath(rejected);
 
         int numberCreated   = getListSize(created);
         int numberUpdated   = getListSize(updated);
         int numberDeleted   = getListSize(deleted);
-        int numberApproved  = getListSize(approved);
-        int numberCancelled = getListSize(cancelled);
-        int numberRejected  = getListSize(rejected);
 
         LOGGER.log(Level.INFO,
                 () -> MessageFormat.format(
-                        NOTIFY_STRUCTURES_CREATED_UPDATED_DELETED_APPROVED_CANCELLED_REJECTED,
+                        NOTIFY_STRUCTURES_CREATED_UPDATED_DELETED,
                         numberCreated,
                         numberUpdated,
-                        numberDeleted,
-                        numberApproved,
-                        numberCancelled,
-                        numberRejected));
+                        numberDeleted));
 
-        if (ValidateUtil.areAllZero(numberCreated, numberUpdated, numberDeleted, numberApproved, numberCancelled, numberRejected)) {
+        if (ValidateUtil.areAllZero(numberCreated, numberUpdated, numberDeleted)) {
             return;
         }
 
@@ -220,15 +197,9 @@ public class NotificationService {
         ctx.setVariable("numberCreated",   numberCreated);
         ctx.setVariable("numberUpdated",   numberUpdated);
         ctx.setVariable("numberDeleted",   numberDeleted);
-        ctx.setVariable("numberApproved",  numberApproved);
-        ctx.setVariable("numberCancelled", numberCancelled);
-        ctx.setVariable("numberRejected",  numberRejected);
         ctx.setVariable("created",   created);
         ctx.setVariable("updated",   updated);
         ctx.setVariable("deleted",   deleted);
-        ctx.setVariable("approved",  approved);
-        ctx.setVariable("cancelled", cancelled);
-        ctx.setVariable("rejected",  rejected);
         ctx.setVariable(ADD_FOOTER, true);
         ctx.setVariable(BACKEND_URL, namingBackendSwaggerUrl);
         TemplateEngine engine = generateTemplateEngine();
@@ -239,9 +210,7 @@ public class NotificationService {
                 : null;
         String[] ccEmailAddresses = null;
         String[] replyToEmailAddresses = null;
-        String subject = numberCreated > 0 || numberUpdated > 0 || numberDeleted > 0
-                ? CHANGES_NOTIFICATION_STRUCTURES_ACTION + " - " + namingBackendSwaggerUrl
-                : CHANGES_NOTIFICATION_STRUCTURES        + " - " + namingBackendSwaggerUrl;
+        String subject = CHANGES_NOTIFICATION_STRUCTURES + " - " + namingBackendSwaggerUrl;
         mailService.sendEmail(toEmailAddresses, ccEmailAddresses, replyToEmailAddresses,
                 subject, engine.process("templates/notification_structures.html", ctx), false, null, null);
     }
diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java
index 31e58878..b9b0e3d9 100644
--- a/src/main/java/org/openepics/names/service/StructuresService.java
+++ b/src/main/java/org/openepics/names/service/StructuresService.java
@@ -85,12 +85,12 @@ public class StructuresService {
     //         otherwise refer to history
     //     structurecommand
     //         cud - create update delete
-    //         acr - approve cancel reject
 
     private static final Logger LOGGER = Logger.getLogger(StructuresService.class.getName());
 
     protected static final String SYSTEM_STRUCTURE_ONLY                 = "System structure only";
 
+    private EssNamingConvention namingConvention;
     private HolderIRepositories holderIRepositories;
     private HolderRepositories holderRepositories;
     private SystemGroupService systemGroupService;
@@ -100,7 +100,6 @@ public class StructuresService {
     private DeviceGroupService deviceGroupService;
     private DeviceTypeService deviceTypeService;
     private NotificationService notificationService;
-    private EssNamingConvention namingConvention;
 
     @Autowired
     public StructuresService(
@@ -491,16 +490,12 @@ public class StructuresService {
     public void validateStructuresCreate(StructureElementCommand structureElement, HolderStructures holderStructures) {
         // validate structure element
         //     input
-        //         type
         //         input itself
         //     data
         //         data itself
         //         relative other data
 
-        // validate input
         ValidateStructureElementUtil.validateStructureElementInputCreate(structureElement, namingConvention);
-
-        // validate data
         ValidateStructureElementUtil.validateStructureElementDataCreate(structureElement, namingConvention, holderRepositories, holderStructures);
     }
     public void validateStructuresCreate(List<StructureElementCommand> structureElements) {
@@ -518,16 +513,12 @@ public class StructuresService {
     public void validateStructuresUpdate(StructureElementCommand structureElement, HolderStructures holderStructures) {
         // validate structure element
         //     input
-        //         type
         //         input itself
         //     data
         //         data itself
         //         relative other data
 
-        // validate input
         ValidateStructureElementUtil.validateStructureElementInputUpdate(structureElement, namingConvention);
-
-        // validate data
         ValidateStructureElementUtil.validateStructureElementDataUpdate(structureElement, namingConvention, holderRepositories, holderStructures);
     }
     public void validateStructuresUpdate(List<StructureElementCommand> structureElements) {
@@ -545,16 +536,12 @@ public class StructuresService {
     public void validateStructuresDelete(StructureElementCommand structureElement, HolderStructures holderStructures) {
         // validate structure element
         //     input
-        //         type
         //         input itself
         //     data
         //         data itself
         //         relative other data
 
-        // validate input
         ValidateStructureElementUtil.validateStructureElementInputDelete(structureElement, namingConvention);
-
-        // validate data
         ValidateStructureElementUtil.validateStructureElementDataDelete(structureElement, namingConvention, holderRepositories, holderStructures);
     }
     public void validateStructuresDelete(List<StructureElementCommand> structureElements) {
@@ -566,87 +553,6 @@ public class StructuresService {
         }
     }
 
-    public void validateStructuresApprove(StructureElementCommand structureElement) {
-        validateStructuresApprove(structureElement, new HolderStructures(holderIRepositories));
-    }
-    public void validateStructuresApprove(StructureElementCommand structureElement, HolderStructures holderStructures) {
-        // validate structure element
-        //     input
-        //         type
-        //         input itself
-        //     data
-        //         data itself
-        //         relative other data
-
-        // validate input
-        ValidateStructureElementUtil.validateStructureElementInputApprove(structureElement, namingConvention);
-
-        // validate data
-        ValidateStructureElementUtil.validateStructureElementDataApprove(structureElement, namingConvention, holderRepositories, holderStructures);
-    }
-    public void validateStructuresApprove(List<StructureElementCommand> structureElements) {
-        // initiate holder of system and device structure content, for performance reasons
-        HolderStructures holderStructures = new HolderStructures(holderIRepositories);
-
-        for (StructureElementCommand structureElement : structureElements) {
-            validateStructuresApprove(structureElement, holderStructures);
-        }
-    }
-
-    public void validateStructuresCancel(StructureElementCommand structureElement) {
-        validateStructuresCancel(structureElement, new HolderStructures(holderIRepositories));
-    }
-    public void validateStructuresCancel(StructureElementCommand structureElement, HolderStructures holderStructures) {
-        // validate structure element
-        //     input
-        //         type
-        //         input itself
-        //     data
-        //         data itself
-        //         relative other data
-
-        // validate input
-        ValidateStructureElementUtil.validateStructureElementInputCancel(structureElement, namingConvention);
-
-        // validate data
-        ValidateStructureElementUtil.validateStructureElementDataCancel(structureElement, namingConvention, holderRepositories, holderStructures);
-    }
-    public void validateStructuresCancel(List<StructureElementCommand> structureElements) {
-        // initiate holder of system and device structure content, for performance reasons
-        HolderStructures holderStructures = new HolderStructures(holderIRepositories);
-
-        for (StructureElementCommand structureElement : structureElements) {
-            validateStructuresCancel(structureElement, holderStructures);
-        }
-    }
-
-    public void validateStructuresReject(StructureElementCommand structureElement) {
-        validateStructuresReject(structureElement, new HolderStructures(holderIRepositories));
-    }
-    public void validateStructuresReject(StructureElementCommand structureElement, HolderStructures holderStructures) {
-        // validate structure element
-        //     input
-        //         type
-        //         input itself
-        //     data
-        //         data itself
-        //         relative other data
-
-        // validate input
-        ValidateStructureElementUtil.validateStructureElementInputReject(structureElement, namingConvention);
-
-        // validate data
-        ValidateStructureElementUtil.validateStructureElementDataReject(structureElement, namingConvention, holderRepositories, holderStructures);
-    }
-    public void validateStructuresReject(List<StructureElementCommand> structureElements) {
-        // initiate holder of system and device structure content, for performance reasons
-        HolderStructures holderStructures = new HolderStructures(holderIRepositories);
-
-        for (StructureElementCommand structureElement : structureElements) {
-            validateStructuresReject(structureElement, holderStructures);
-        }
-    }
-
     // ----------------------------------------------------------------------------------------------------
 
     @Transactional
@@ -773,196 +679,4 @@ public class StructuresService {
         return deletedStructureElements;
     }
 
-    // ----------------------------------------------------------------------------------------------------
-
-    @Transactional
-    public List<StructureElement> approveStructures(List<StructureElementCommand> structureElements, String username) {
-        // validation outside method
-        // transaction
-        //     for each structure element command
-        //         approve structure
-        //         handle
-        //             notification
-        //             structure element for approved structure
-        //     notify
-        //     return structure elements for approved structures
-
-        // initiate holder of system and device structure content, for performance reasons
-        HolderStructures holderStructures = new HolderStructures(holderIRepositories);
-
-        // approve
-        //     set not latest for current latest
-        //     set approved, latest for pending
-        //     delete
-        //         delete sub structures
-        //         delete names
-
-        Date when = new Date();
-        List<NotificationStructure> notifications = Lists.newArrayList();
-        final List<StructureElement> approvedStructureElements = Lists.newArrayList();
-        for (StructureElementCommand structureElement : structureElements) {
-            Type type = structureElement.getType();
-            StructureElementNotification structureElementNotification = null;
-
-            if (Type.SYSTEMGROUP.equals(type)) {
-                structureElementNotification = systemGroupService.approveStructure(structureElement, when, username, holderStructures);
-            } else if (Type.SYSTEM.equals(type)) {
-                structureElementNotification = systemService.approveStructure(structureElement, when, username, holderStructures);
-            } else if (Type.SUBSYSTEM.equals(type)) {
-                structureElementNotification = subsystemService.approveStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DISCIPLINE.equals(type)) {
-                structureElementNotification = disciplineService.approveStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DEVICEGROUP.equals(type)) {
-                structureElementNotification = deviceGroupService.approveStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
-                structureElementNotification = deviceTypeService.approveStructure(structureElement, when, username, holderStructures);
-            } else {
-                continue;
-            }
-
-            Utilities.addToCollection(notifications, structureElementNotification.notificationStructure());
-            Utilities.addToCollection(approvedStructureElements, structureElementNotification.structureElement());
-
-            if (LOGGER.isLoggable(Level.FINER)) {
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, "type", type));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.ELEMENT_IN, structureElement));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.ELEMENT_OUT, structureElementNotification.structureElement()));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.NOTIFICATION, structureElementNotification.notificationStructure()));
-            }
-        }
-
-        // notify
-        notificationService.notifyStructures(notifications, StructureCommand.APPROVE);
-
-        LOGGER.log(Level.INFO,
-                () -> MessageFormat.format(
-                        TextUtil.DESCRIPTION_NUMBER_ELEMENTS_IN_OUT,
-                        "Approve structures",
-                        structureElements.size(),
-                        approvedStructureElements.size()));
-        return approvedStructureElements;
-    }
-
-    @Transactional
-    public List<StructureElement> cancelStructures(List<StructureElementCommand> structureElements, String username) {
-        // validation outside method
-        // transaction
-        //     for each structure element command
-        //         cancel structure
-        //         handle
-        //             notification
-        //             structure element for cancelled structure
-        //     notify
-        //     return structure elements for cancelled structures
-
-        // initiate holder of system and device structure content, for performance reasons
-        HolderStructures holderStructures = new HolderStructures(holderIRepositories);
-
-        Date when = new Date();
-        List<NotificationStructure> notifications = Lists.newArrayList();
-        final List<StructureElement> cancelledStructureElements = Lists.newArrayList();
-        for (StructureElementCommand structureElement : structureElements) {
-            Type type = structureElement.getType();
-            StructureElementNotification structureElementNotification = null;
-
-            if (Type.SYSTEMGROUP.equals(type)) {
-                structureElementNotification = systemGroupService.cancelStructure(structureElement, when, username, holderStructures);
-            } else if (Type.SYSTEM.equals(type)) {
-                structureElementNotification = systemService.cancelStructure(structureElement, when, username, holderStructures);
-            } else if (Type.SUBSYSTEM.equals(type)) {
-                structureElementNotification = subsystemService.cancelStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DISCIPLINE.equals(type)) {
-                structureElementNotification = disciplineService.cancelStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DEVICEGROUP.equals(type)) {
-                structureElementNotification = deviceGroupService.cancelStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
-                structureElementNotification = deviceTypeService.cancelStructure(structureElement, when, username, holderStructures);
-            } else {
-                continue;
-            }
-
-            Utilities.addToCollection(notifications, structureElementNotification.notificationStructure());
-            Utilities.addToCollection(cancelledStructureElements, structureElementNotification.structureElement());
-
-            if (LOGGER.isLoggable(Level.FINER)) {
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, "type", type));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.ELEMENT_IN, structureElement));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.ELEMENT_OUT, structureElementNotification.structureElement()));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.NOTIFICATION, structureElementNotification.notificationStructure()));
-            }
-        }
-
-        // notify
-        notificationService.notifyStructures(notifications, StructureCommand.CANCEL);
-
-        LOGGER.log(Level.INFO,
-                () -> MessageFormat.format(
-                        TextUtil.DESCRIPTION_NUMBER_ELEMENTS_IN_OUT,
-                        "Cancel structures",
-                        structureElements.size(),
-                        cancelledStructureElements.size()));
-        return cancelledStructureElements;
-    }
-
-    @Transactional
-    public List<StructureElement> rejectStructures(List<StructureElementCommand> structureElements, String username) {
-        // validation outside method
-        // transaction
-        //     for each structure element command
-        //         reject structure
-        //         handle
-        //             notification
-        //             structure element for rejected structure
-        //     notify
-        //     return structure elements for rejected structures
-
-        // initiate holder of system and device structure content, for performance reasons
-        HolderStructures holderStructures = new HolderStructures(holderIRepositories);
-
-        Date when = new Date();
-        List<NotificationStructure> notifications = Lists.newArrayList();
-        final List<StructureElement> rejectedStructureElements = Lists.newArrayList();
-        for (StructureElementCommand structureElement : structureElements) {
-            Type type = structureElement.getType();
-            StructureElementNotification structureElementNotification = null;
-
-            if (Type.SYSTEMGROUP.equals(type)) {
-                structureElementNotification = systemGroupService.rejectStructure(structureElement, when, username, holderStructures);
-            } else if (Type.SYSTEM.equals(type)) {
-                structureElementNotification = systemService.rejectStructure(structureElement, when, username, holderStructures);
-            } else if (Type.SUBSYSTEM.equals(type)) {
-                structureElementNotification = subsystemService.rejectStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DISCIPLINE.equals(type)) {
-                structureElementNotification = disciplineService.rejectStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DEVICEGROUP.equals(type)) {
-                structureElementNotification = deviceGroupService.rejectStructure(structureElement, when, username, holderStructures);
-            } else if (Type.DEVICETYPE.equals(structureElement.getType())) {
-                structureElementNotification = deviceTypeService.rejectStructure(structureElement, when, username, holderStructures);
-            } else {
-                continue;
-            }
-
-            Utilities.addToCollection(notifications, structureElementNotification.notificationStructure());
-            Utilities.addToCollection(rejectedStructureElements, structureElementNotification.structureElement());
-
-            if (LOGGER.isLoggable(Level.FINER)) {
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, "type", type));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.ELEMENT_IN, structureElement));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.ELEMENT_OUT, structureElementNotification.structureElement()));
-                LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.NOTIFICATION, structureElementNotification.notificationStructure()));
-            }
-        }
-
-        // notify
-        notificationService.notifyStructures(notifications, StructureCommand.REJECT);
-
-        LOGGER.log(Level.INFO,
-                () -> MessageFormat.format(
-                        TextUtil.DESCRIPTION_NUMBER_ELEMENTS_IN_OUT,
-                        "Reject structures",
-                        structureElements.size(),
-                        rejectedStructureElements.size()));
-        return rejectedStructureElements;
-    }
-
 }
diff --git a/src/main/java/org/openepics/names/service/SubsystemService.java b/src/main/java/org/openepics/names/service/SubsystemService.java
index 755c6ece..9780f3ca 100644
--- a/src/main/java/org/openepics/names/service/SubsystemService.java
+++ b/src/main/java/org/openepics/names/service/SubsystemService.java
@@ -55,11 +55,6 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 public class SubsystemService {
 
-    // note
-    //     structurecommand
-    //         cud - create update delete
-    //         acr - approve cancel reject
-
     private static final Logger LOGGER = Logger.getLogger(SubsystemService.class.getName());
 
     private ISubsystemRepository iSubsystemRepository;
@@ -81,8 +76,13 @@ public class SubsystemService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
+        //     create structure - approved, latest, not deleted
+        //     additional
+        //         automatically create name when system structure is created
+        //         condition on name and structure entry
+        //             system structure should exist (uuid), one entry that is not deleted
+        //             name should not exist (system structure mnemonic path)
+        //         within current transaction
         //     return
         //         structure element for created structure
         //         notification
@@ -101,13 +101,23 @@ public class SubsystemService {
         // create
         Subsystem subsystem = new Subsystem(UUID.randomUUID(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         subsystemRepository.createSubsystem(subsystem);
 
+        // additional
+        boolean hasMnemonic = !StringUtils.isEmpty(subsystem.getMnemonic());
+        boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(subsystem, holderStructures));
+        if (hasMnemonic && !existsName) {
+            NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY);
+            namesService.createName(nameElement, when, username, holderStructures);
+        }
+
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.CREATE));
+
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(subsystem),
-                NotificationUtil.prepareNotification(Type.SUBSYSTEM, StructureCommand.CREATE, null, null, subsystem, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(subsystem, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.SUBSYSTEM, StructureCommand.CREATE, null, subsystem, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -115,9 +125,10 @@ public class SubsystemService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
-        //     find out previous
+        //     update not latest
+        //     create structure - approved, latest, not deleted
+        //     previous for notification
+        //     additional - update related names
         //     return
         //         structure element for updated structure
         //         notification
@@ -129,87 +140,54 @@ public class SubsystemService {
         //     namingConvention.equivalenceClassRepresentative return null for null input
         //     rules for mnemonic
 
+        String uuid = structureElementCommand.getUuid().toString();
         String mnemonic = structureElementCommand.getMnemonic();
         mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
         String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic);
 
+        // find
+        List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
+        Subsystem subsystem = null;
+        if (ValidateUtil.isSize(subsystems, 1)) {
+            subsystem = subsystems.get(0);
+
+            // update not latest
+            subsystem.setLatest(Boolean.FALSE);
+            subsystemRepository.updateSubsystem(subsystem);
+        }
+
         // create
-        Subsystem subsystem = new Subsystem(structureElementCommand.getUuid(), structureElementCommand.getParent(),
+        subsystem = new Subsystem(structureElementCommand.getUuid(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         subsystemRepository.createSubsystem(subsystem);
 
         // previous
-        List<Subsystem> previouses = iSubsystemRepository.findPreviousByUuidAndId(subsystem.getUuid().toString(),  subsystem.getId());
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(subsystem),
-                NotificationUtil.prepareNotification(Type.SUBSYSTEM, StructureCommand.UPDATE, null,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, subsystem, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     create structure to pending, not latest, deleted, with data
-        //     return
-        //         structure element for deleted structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        List<Subsystem> previouses = iSubsystemRepository.findPreviousByUuidAndId(subsystem.getUuid().toString(), subsystem.getId());
+        Subsystem previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
-        // find
-        List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
-            return null;
-        }
-        Subsystem toBeDeleted = subsystems.get(0);
+        // additional
+        namesService.updateNames(previous, subsystem, username);
 
-        // create
-        Subsystem subsystem = new Subsystem(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(),
-                toBeDeleted.getMnemonic(), toBeDeleted.getMnemonicEquivalence(), toBeDeleted.getOrdering(),
-                toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE,
-                when, username, null);
-        subsystemRepository.createSubsystem(subsystem);
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.UPDATE));
 
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(subsystem),
-                NotificationUtil.prepareNotification(Type.SUBSYSTEM, StructureCommand.DELETE, null, null, subsystem, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(subsystem, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.SUBSYSTEM, StructureCommand.UPDATE, previous, subsystem, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification approveStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
+    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
         //     update not latest
-        //     find
-        //     approve - update structure to status APPROVED, latest to true
-        //     additional
-        //         find out previous to find out what is approved - create update delete
-        //         approve create
-        //             automatically create name when system structure is approved
-        //             condition on name and structure entry
-        //                 system structure should exist (uuid), one entry that is not deleted
-        //                 name should not exist (system structure mnemonic)
-        //             within current transaction
-        //         approve update
-        //             update related names
-        //             for different mnemonic
-        //             not for device group
-        //         approve delete
-        //             delete related names
-        //             delete sub structures
+        //     create structure - approved, latest, deleted
+        //     previous for notification
+        //     additional - delete related names
         //     return
-        //         structure element for approved structure
+        //         structure element for deleted structure
         //         notification
         //
         // attributes
@@ -226,128 +204,29 @@ public class SubsystemService {
             // update not latest
             subsystem.setLatest(Boolean.FALSE);
             subsystemRepository.updateSubsystem(subsystem);
-        }
-
-        // find
-        subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
+        } else {
             return null;
         }
-        subsystem = subsystems.get(0);
 
-        // approve
-        subsystem.setAttributesStatusProcessed(Status.APPROVED, when, username, null);
-        subsystem.setLatest(Boolean.TRUE);
-        subsystemRepository.updateSubsystem(subsystem);
+        // create
+        subsystem = new Subsystem(subsystem.getUuid(), subsystem.getParentUuid(),
+                subsystem.getMnemonic(), subsystem.getMnemonicEquivalence(), subsystem.getOrdering(),
+                subsystem.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                when, username, null);
+        subsystemRepository.createSubsystem(subsystem);
 
         // previous
         List<Subsystem> previouses = iSubsystemRepository.findPreviousByUuidAndId(uuid, subsystem.getId());
-        StructureCommand structureCommandCUD = StructureUtil.getStructureCommandCUD(previouses, subsystem);
         Subsystem previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
         // additional
-        if (StructureCommand.CREATE.equals(structureCommandCUD)) {
-            boolean hasMnemonic = !StringUtils.isEmpty(subsystem.getMnemonic());
-            boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(subsystem, holderStructures));
-            if (hasMnemonic && !existsName) {
-                NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY);
-                namesService.createName(nameElement, when, username, holderStructures);
-            }
-        } else if (StructureCommand.UPDATE.equals(structureCommandCUD)) {
-            // update related names
-            namesService.updateNames(previous, subsystem, username);
-        } else if (StructureCommand.DELETE.equals(structureCommandCUD)) {
-            // delete related names
-            namesService.deleteNames(subsystem, username);
-        }
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(subsystem, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SUBSYSTEM, structureCommandCUD, StructureCommand.APPROVE, previous, subsystem, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification cancelStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     cancel - update structure to status CANCELLED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
-            return null;
-        }
-        Subsystem subsystem = subsystems.get(0);
-
-        // cancel
-        subsystem.setAttributesStatusProcessed(Status.CANCELLED, when, username, null);
-        subsystemRepository.updateSubsystem(subsystem);
-
-        // previous
-        List<Subsystem> previouses = iSubsystemRepository.findPreviousByUuidAndId(uuid, subsystem.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, subsystem);
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(subsystem, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SUBSYSTEM, structureCommandCUD, StructureCommand.CANCEL,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, subsystem, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification rejectStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     reject - update structure to status REJECTED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(subsystems, 1)) {
-            return null;
-        }
-        Subsystem subsystem = subsystems.get(0);
-
-        // reject
-        subsystem.setAttributesStatusProcessed(Status.REJECTED, when, username, null);
-        subsystemRepository.updateSubsystem(subsystem);
-
-        // previous
-        List<Subsystem> previouses = iSubsystemRepository.findPreviousByUuidAndId(uuid, subsystem.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, subsystem);
+        namesService.deleteNames(subsystem, username);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_STRUCTURE, TextUtil.COMMAND, StructureCommand.DELETE));
 
         return new StructureElementNotification(
                 StructureElementUtil.getStructureElementProcessed(subsystem, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SUBSYSTEM, structureCommandCUD, StructureCommand.REJECT,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, subsystem, holderStructures));
+                NotificationUtil.prepareNotification(Type.SUBSYSTEM, StructureCommand.DELETE, previous, subsystem, holderStructures));
     }
 
 }
diff --git a/src/main/java/org/openepics/names/service/SystemGroupService.java b/src/main/java/org/openepics/names/service/SystemGroupService.java
index 7700cbfe..ac221bad 100644
--- a/src/main/java/org/openepics/names/service/SystemGroupService.java
+++ b/src/main/java/org/openepics/names/service/SystemGroupService.java
@@ -59,11 +59,6 @@ import com.google.common.collect.Lists;
 @Service
 public class SystemGroupService {
 
-    // note
-    //     structurecommand
-    //         cud - create update delete
-    //         acr - approve cancel reject
-
     private static final Logger LOGGER = Logger.getLogger(SystemGroupService.class.getName());
 
     private ISystemGroupRepository iSystemGroupRepository;
@@ -91,8 +86,13 @@ public class SystemGroupService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
+        //     create structure - approved, latest, not deleted
+        //     additional
+        //         automatically create name when system structure is created
+        //         condition on name and structure entry
+        //             system structure should exist (uuid), one entry that is not deleted
+        //             name should not exist (system structure mnemonic path)
+        //         within current transaction
         //     return
         //         structure element for created structure
         //         notification
@@ -111,13 +111,23 @@ public class SystemGroupService {
         // create
         SystemGroup systemGroup = new SystemGroup(UUID.randomUUID(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         systemGroupRepository.createSystemGroup(systemGroup);
 
+        // additional
+        boolean hasMnemonic = !StringUtils.isEmpty(systemGroup.getMnemonic());
+        boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(systemGroup, holderStructures));
+        if (hasMnemonic && !existsName) {
+            NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY);
+            namesService.createName(nameElement, when, username, holderStructures);
+        }
+
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.CREATE));
+
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(systemGroup),
-                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, StructureCommand.CREATE, null, null, systemGroup, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(systemGroup, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, StructureCommand.CREATE, null, systemGroup, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -125,9 +135,10 @@ public class SystemGroupService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
-        //     find out previous
+        //     update not latest
+        //     create structure - approved, latest, not deleted
+        //     previous for notification
+        //     additional - update related names
         //     return
         //         structure element for updated structure
         //         notification
@@ -139,87 +150,54 @@ public class SystemGroupService {
         //     namingConvention.equivalenceClassRepresentative return null for null input
         //     rules for mnemonic
 
+        String uuid = structureElementCommand.getUuid().toString();
         String mnemonic = structureElementCommand.getMnemonic();
         mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
         String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic);
 
+        // find
+        List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null);
+        SystemGroup systemGroup = null;
+        if (ValidateUtil.isSize(systemGroups, 1)) {
+            systemGroup = systemGroups.get(0);
+
+            // update not latest
+            systemGroup.setLatest(Boolean.FALSE);
+            systemGroupRepository.updateSystemGroup(systemGroup);
+        }
+
         // create
-        SystemGroup systemGroup = new SystemGroup(structureElementCommand.getUuid(),
+        systemGroup = new SystemGroup(structureElementCommand.getUuid(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         systemGroupRepository.createSystemGroup(systemGroup);
 
         // previous
-        List<SystemGroup> previouses = iSystemGroupRepository.findPreviousByUuidAndId(systemGroup.getUuid().toString(),  systemGroup.getId());
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(systemGroup),
-                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, StructureCommand.UPDATE, null,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, systemGroup, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     create structure to pending, not latest, deleted, with data
-        //     return
-        //         structure element for deleted structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        List<SystemGroup> previouses = iSystemGroupRepository.findPreviousByUuidAndId(uuid, systemGroup.getId());
+        SystemGroup previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
-        // find
-        List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
-            return null;
-        }
-        SystemGroup toBeDeleted = systemGroups.get(0);
+        // additional
+        namesService.updateNames(previous, systemGroup, username);
 
-        // create
-        SystemGroup systemGroup = new SystemGroup(toBeDeleted.getUuid(),
-                toBeDeleted.getMnemonic(), toBeDeleted.getMnemonicEquivalence(), toBeDeleted.getOrdering(),
-                toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE,
-                when, username, null);
-        systemGroupRepository.createSystemGroup(systemGroup);
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.UPDATE));
 
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(systemGroup),
-                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, StructureCommand.DELETE, null, null, systemGroup, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(systemGroup, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, StructureCommand.UPDATE, previous, systemGroup, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification approveStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
+    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
         //     update not latest
-        //     find
-        //     approve - update structure to status APPROVED, latest to true
-        //     additional
-        //         find out previous to find out what is approved - create update delete
-        //         approve create
-        //             automatically create name when system structure is approved
-        //             condition on name and structure entry
-        //                 system structure should exist (uuid), one entry that is not deleted
-        //                 name should not exist (system structure mnemonic)
-        //             within current transaction
-        //         approve update
-        //             update related names
-        //             for different mnemonic
-        //             not for device group
-        //         approve delete
-        //             delete related names
-        //             delete sub structures
+        //     create structure - approved, latest, deleted
+        //     previous for notification
+        //     additional - delete related names, delete sub structures (and related names)
         //     return
-        //         structure element for approved structure
+        //         structure element for deleted structure
         //         notification
         //
         // attributes
@@ -236,143 +214,39 @@ public class SystemGroupService {
             // update not latest
             systemGroup.setLatest(Boolean.FALSE);
             systemGroupRepository.updateSystemGroup(systemGroup);
-        }
-
-        // find
-        systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
+        } else {
             return null;
         }
-        systemGroup = systemGroups.get(0);
 
-        // approve
-        systemGroup.setAttributesStatusProcessed(Status.APPROVED, when, username, null);
-        systemGroup.setLatest(Boolean.TRUE);
-        systemGroupRepository.updateSystemGroup(systemGroup);
+        // create
+        systemGroup = new SystemGroup(systemGroup.getUuid(),
+                systemGroup.getMnemonic(), systemGroup.getMnemonicEquivalence(), systemGroup.getOrdering(),
+                systemGroup.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                when, username, null);
+        systemGroupRepository.createSystemGroup(systemGroup);
 
         // previous
         List<SystemGroup> previouses = iSystemGroupRepository.findPreviousByUuidAndId(uuid, systemGroup.getId());
-        StructureCommand structureCommandCUD = StructureUtil.getStructureCommandCUD(previouses, systemGroup);
         SystemGroup previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
         // additional
-        if (StructureCommand.CREATE.equals(structureCommandCUD)) {
-            boolean hasMnemonic = !StringUtils.isEmpty(systemGroup.getMnemonic());
-            boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(systemGroup, holderStructures));
-            if (hasMnemonic && !existsName) {
-                NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY);
-                namesService.createName(nameElement, when, username, holderStructures);
-            }
-        } else if (StructureCommand.UPDATE.equals(structureCommandCUD)) {
-            // update related names
-            namesService.updateNames(previous, systemGroup, username);
-        } else if (StructureCommand.DELETE.equals(structureCommandCUD)) {
-            // will propagate to sub structures and related names
-
-            // delete related names
-            namesService.deleteNames(systemGroup, username);
-
-            // delete sub structures - delete, approve
-            List<StructureElementCommand> commands = Lists.newArrayList();
-            List<System> systems = iSystemRepository.findLatestNotDeletedByParent(uuid);
-            for (System system : systems) {
-                commands.add(new StructureElementCommand(system.getUuid(), Type.SYSTEM, null, null, null, null));
-            }
-            for (StructureElementCommand command : commands) {
-                systemService.deleteStructure(command, when, username, holderStructures);
-            }
-            for (StructureElementCommand command : commands) {
-                systemService.approveStructure(command, when, username, holderStructures);
-            }
-        }
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(systemGroup, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, structureCommandCUD, StructureCommand.APPROVE, previous, systemGroup, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification cancelStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     cancel - update structure to status CANCELLED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        //     will propagate to sub structures
+        namesService.deleteNames(systemGroup, username);
 
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
-            return null;
+        List<StructureElementCommand> commands = Lists.newArrayList();
+        List<System> systems = iSystemRepository.findLatestNotDeletedByParent(uuid);
+        for (System system : systems) {
+            commands.add(new StructureElementCommand(system.getUuid(), Type.SYSTEM, null, null, null, null));
         }
-        SystemGroup systemGroup = systemGroups.get(0);
-
-        // cancel
-        systemGroup.setAttributesStatusProcessed(Status.CANCELLED, when, username, null);
-        systemGroupRepository.updateSystemGroup(systemGroup);
-
-        // previous
-        List<SystemGroup> previouses = iSystemGroupRepository.findPreviousByUuidAndId(uuid, systemGroup.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, systemGroup);
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(systemGroup, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, structureCommandCUD, StructureCommand.CANCEL,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, systemGroup, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification rejectStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     reject - update structure to status REJECTED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) {
-            return null;
+        for (StructureElementCommand command : commands) {
+            systemService.deleteStructure(command, when, username, holderStructures);
         }
-        SystemGroup systemGroup = systemGroups.get(0);
-
-        // reject
-        systemGroup.setAttributesStatusProcessed(Status.REJECTED, when, username, null);
-        systemGroupRepository.updateSystemGroup(systemGroup);
-
-        // previous
-        List<SystemGroup> previouses = iSystemGroupRepository.findPreviousByUuidAndId(uuid, systemGroup.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, systemGroup);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_STRUCTURE, TextUtil.COMMAND, StructureCommand.DELETE));
 
         return new StructureElementNotification(
                 StructureElementUtil.getStructureElementProcessed(systemGroup, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, structureCommandCUD, StructureCommand.REJECT,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, systemGroup, holderStructures));
+                NotificationUtil.prepareNotification(Type.SYSTEMGROUP, StructureCommand.DELETE, previous, systemGroup, holderStructures));
     }
 
 }
diff --git a/src/main/java/org/openepics/names/service/SystemService.java b/src/main/java/org/openepics/names/service/SystemService.java
index 067b14e3..0f001ec9 100644
--- a/src/main/java/org/openepics/names/service/SystemService.java
+++ b/src/main/java/org/openepics/names/service/SystemService.java
@@ -59,11 +59,6 @@ import com.google.common.collect.Lists;
 @Service
 public class SystemService {
 
-    // note
-    //     structurecommand
-    //         cud - create update delete
-    //         acr - approve cancel reject
-
     private static final Logger LOGGER = Logger.getLogger(SystemService.class.getName());
 
     private ISystemRepository iSystemRepository;
@@ -91,8 +86,13 @@ public class SystemService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
+        //     create structure - approved, latest, not deleted
+        //     additional
+        //         automatically create name when system structure is created
+        //         condition on name and structure entry
+        //             system structure should exist (uuid), one entry that is not deleted
+        //             name should not exist (system structure mnemonic path)
+        //         within current transaction
         //     return
         //         structure element for created structure
         //         notification
@@ -111,13 +111,23 @@ public class SystemService {
         // create
         System system = new System(UUID.randomUUID(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         systemRepository.createSystem(system);
 
+        // additional
+        boolean hasMnemonic = !StringUtils.isEmpty(system.getMnemonic());
+        boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(system, holderStructures));
+        if (hasMnemonic && !existsName) {
+            NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY);
+            namesService.createName(nameElement, when, username, holderStructures);
+        }
+
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CREATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.CREATE));
+
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(system),
-                NotificationUtil.prepareNotification(Type.SYSTEM, StructureCommand.CREATE, null, null, system, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(system, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.SYSTEM, StructureCommand.CREATE, null, system, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
@@ -125,9 +135,10 @@ public class SystemService {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     create structure to pending, not latest, not deleted, with data
-        //     find out previous
+        //     update not latest
+        //     create structure - approved, latest, not deleted
+        //     previous for notification
+        //     additional - update related names
         //     return
         //         structure element for updated structure
         //         notification
@@ -139,87 +150,54 @@ public class SystemService {
         //     namingConvention.equivalenceClassRepresentative return null for null input
         //     rules for mnemonic
 
+        String uuid = structureElementCommand.getUuid().toString();
         String mnemonic = structureElementCommand.getMnemonic();
         mnemonic = StringUtils.isEmpty(mnemonic) ? null : mnemonic;
         String equivalenceClassRepresentative = namingConvention.equivalenceClassRepresentative(mnemonic);
 
+        // find
+        List<System> systems = systemRepository.readSystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null);
+        System system = null;
+        if (ValidateUtil.isSize(systems, 1)) {
+            system = systems.get(0);
+
+            // update not latest
+            system.setLatest(Boolean.FALSE);
+            systemRepository.updateSystem(system);
+        }
+
         // create
-        System system = new System(structureElementCommand.getUuid(), structureElementCommand.getParent(),
+        system = new System(structureElementCommand.getUuid(), structureElementCommand.getParent(),
                 mnemonic, equivalenceClassRepresentative, structureElementCommand.getOrdering(),
-                structureElementCommand.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.FALSE,
+                structureElementCommand.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.FALSE,
                 when, username, null);
         systemRepository.createSystem(system);
 
         // previous
-        List<System> previouses = iSystemRepository.findPreviousByUuidAndId(system.getUuid().toString(),  system.getId());
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(system),
-                NotificationUtil.prepareNotification(Type.SYSTEM, StructureCommand.UPDATE, null,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, system, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     create structure to pending, not latest, deleted, with data
-        //     return
-        //         structure element for deleted structure
-        //         notification
-        //
-        // attributes
-        //     uuid
+        List<System> previouses = iSystemRepository.findPreviousByUuidAndId(system.getUuid().toString(), system.getId());
+        System previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
-        // find
-        List<System> systems = systemRepository.readSystems(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systems, 1)) {
-            return null;
-        }
-        System toBeDeleted = systems.get(0);
+        // additional
+        namesService.updateNames(previous, system, username);
 
-        // create
-        System system = new System(toBeDeleted.getUuid(), toBeDeleted.getParentUuid(),
-                toBeDeleted.getMnemonic(), toBeDeleted.getMnemonicEquivalence(), toBeDeleted.getOrdering(),
-                toBeDeleted.getDescription(), Status.PENDING, Boolean.FALSE, Boolean.TRUE,
-                when, username, null);
-        systemRepository.createSystem(system);
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.UPDATE_STRUCTURE, TextUtil.COMMAND, StructureCommand.UPDATE));
 
         return new StructureElementNotification(
-                StructureElementUtil.getStructureElementRequested(system),
-                NotificationUtil.prepareNotification(Type.SYSTEM, StructureCommand.DELETE, null, null, system, holderStructures));
+                StructureElementUtil.getStructureElementProcessed(system, holderStructures, StructureChoice.STRUCTURE),
+                NotificationUtil.prepareNotification(Type.SYSTEM, StructureCommand.UPDATE, previous, system, holderStructures));
     }
 
     @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification approveStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
+    public StructureElementNotification deleteStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
         // validation outside method
         // transaction
         //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
         //     update not latest
-        //     find
-        //     approve - update structure to status APPROVED, latest to true
-        //     additional
-        //         find out previous to find out what is approved - create update delete
-        //         approve create
-        //             automatically create name when system structure is approved
-        //             condition on name and structure entry
-        //                 system structure should exist (uuid), one entry that is not deleted
-        //                 name should not exist (system structure mnemonic)
-        //             within current transaction
-        //         approve update
-        //             update related names
-        //             for different mnemonic
-        //             not for device group
-        //         approve delete
-        //             delete related names
-        //             delete sub structures
+        //     create structure - approved, latest, deleted
+        //     previous for notification
+        //     additional - delete related names, delete sub structures (and related names)
         //     return
-        //         structure element for approved structure
+        //         structure element for deleted structure
         //         notification
         //
         // attributes
@@ -236,143 +214,39 @@ public class SystemService {
             // update not latest
             system.setLatest(Boolean.FALSE);
             systemRepository.updateSystem(system);
-        }
-
-        // find
-        systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systems, 1)) {
+        } else {
             return null;
         }
-        system = systems.get(0);
 
-        // approve
-        system.setAttributesStatusProcessed(Status.APPROVED, when, username, null);
-        system.setLatest(Boolean.TRUE);
-        systemRepository.updateSystem(system);
+        // create
+        system = new System(system.getUuid(), system.getParentUuid(),
+                system.getMnemonic(), system.getMnemonicEquivalence(), system.getOrdering(),
+                system.getDescription(), Status.APPROVED, Boolean.TRUE, Boolean.TRUE,
+                when, username, null);
+        systemRepository.createSystem(system);
 
         // previous
         List<System> previouses = iSystemRepository.findPreviousByUuidAndId(uuid, system.getId());
-        StructureCommand structureCommandCUD = StructureUtil.getStructureCommandCUD(previouses, system);
         System previous = previouses != null && !previouses.isEmpty() ? previouses.get(0) : null;
 
         // additional
-        if (StructureCommand.CREATE.equals(structureCommandCUD)) {
-            boolean hasMnemonic = !StringUtils.isEmpty(system.getMnemonic());
-            boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(system, holderStructures));
-            if (hasMnemonic && !existsName) {
-                NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY);
-                namesService.createName(nameElement, when, username, holderStructures);
-            }
-        } else if (StructureCommand.UPDATE.equals(structureCommandCUD)) {
-            // update related names
-            namesService.updateNames(previous, system, username);
-        } else if (StructureCommand.DELETE.equals(structureCommandCUD)) {
-            // will propagate to sub structures and related names
-
-            // delete related names
-            namesService.deleteNames(system, username);
-
-            // delete sub structures - delete, approve
-            List<StructureElementCommand> commands = Lists.newArrayList();
-            List<Subsystem> subsystems = iSubsystemRepository.findLatestNotDeletedByParent(uuid);
-            for (Subsystem subsystem : subsystems) {
-                commands.add(new StructureElementCommand(subsystem.getUuid(), Type.SUBSYSTEM, null, null, null, null));
-            }
-            for (StructureElementCommand command : commands) {
-                subsystemService.deleteStructure(command, when, username, holderStructures);
-            }
-            for (StructureElementCommand command : commands) {
-                subsystemService.approveStructure(command, when, username, holderStructures);
-            }
-        }
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.APPROVE_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(system, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SYSTEM, structureCommandCUD, StructureCommand.APPROVE, previous, system, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification cancelStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     cancel - update structure to status CANCELLED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
+        //     will propagate to sub structures
+        namesService.deleteNames(system, username);
 
-        // find
-        List<System> systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systems, 1)) {
-            return null;
+        List<StructureElementCommand> commands = Lists.newArrayList();
+        List<Subsystem> subsystems = iSubsystemRepository.findLatestNotDeletedByParent(uuid);
+        for (Subsystem subsystem : subsystems) {
+            commands.add(new StructureElementCommand(subsystem.getUuid(), Type.SUBSYSTEM, null, null, null, null));
         }
-        System system = systems.get(0);
-
-        // cancel
-        system.setAttributesStatusProcessed(Status.CANCELLED, when, username, null);
-        systemRepository.updateSystem(system);
-
-        // previous
-        List<System> previouses = iSystemRepository.findPreviousByUuidAndId(uuid, system.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, system);
-
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.CANCEL_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
-
-        return new StructureElementNotification(
-                StructureElementUtil.getStructureElementProcessed(system, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SYSTEM, structureCommandCUD, StructureCommand.CANCEL,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, system, holderStructures));
-    }
-
-    @Transactional(propagation = Propagation.MANDATORY)
-    public StructureElementNotification rejectStructure(StructureElementCommand structureElementCommand, Date when, String username, HolderStructures holderStructures) {
-        // validation outside method
-        // transaction
-        //     support a current transaction, throw an exception if none exists
-        //     attributes
-        //     find
-        //     reject - update structure to status REJECTED
-        //     find out previous
-        //     return
-        //         structure element for created structure
-        //         notification
-        //
-        // attributes
-        //     uuid
-
-        String uuid = structureElementCommand.getUuid().toString();
-
-        // find
-        List<System> systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null);
-        if (ValidateUtil.isNullOrNotSize(systems, 1)) {
-            return null;
+        for (StructureElementCommand command : commands) {
+            subsystemService.deleteStructure(command, when, username, holderStructures);
         }
-        System system = systems.get(0);
-
-        // reject
-        system.setAttributesStatusProcessed(Status.REJECTED, when, username, null);
-        systemRepository.updateSystem(system);
-
-        // previous
-        List<System> previouses = iSystemRepository.findPreviousByUuidAndId(uuid, system.getId());
-        StructureCommand structureCommandCUD = NotificationUtil.getStructureCommandCUD(previouses, system);
 
-        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.REJECT_STRUCTURE, TextUtil.COMMAND, structureCommandCUD));
+        LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.DELETE_STRUCTURE, TextUtil.COMMAND, StructureCommand.DELETE));
 
         return new StructureElementNotification(
                 StructureElementUtil.getStructureElementProcessed(system, holderStructures, StructureChoice.STRUCTURE),
-                NotificationUtil.prepareNotification(Type.SYSTEM, structureCommandCUD, StructureCommand.REJECT,
-                        previouses != null && !previouses.isEmpty() ? previouses.get(0) : null, system, holderStructures));
+                NotificationUtil.prepareNotification(Type.SYSTEM, StructureCommand.DELETE, previous, system, holderStructures));
     }
 
 }
diff --git a/src/main/java/org/openepics/names/util/NameElementUtil.java b/src/main/java/org/openepics/names/util/NameElementUtil.java
index 0eca6a21..1e511320 100644
--- a/src/main/java/org/openepics/names/util/NameElementUtil.java
+++ b/src/main/java/org/openepics/names/util/NameElementUtil.java
@@ -47,9 +47,7 @@ import com.google.common.collect.Lists;
 public class NameElementUtil {
 
     // note
-    //     handling of system structure, device structure
-    //         parent system structure uuid (system group, system, subsystem) - ability to find structure
-    //         parent device structure uuid (device type)
+    //     requested attributes for names are used, not processed attributes
 
     /**
      * This class is not to be instantiated.
diff --git a/src/main/java/org/openepics/names/util/StructureCommand.java b/src/main/java/org/openepics/names/util/StructureCommand.java
index aa2bf5ea..3914faab 100644
--- a/src/main/java/org/openepics/names/util/StructureCommand.java
+++ b/src/main/java/org/openepics/names/util/StructureCommand.java
@@ -25,6 +25,6 @@ package org.openepics.names.util;
  */
 public enum StructureCommand {
 
-    CREATE, UPDATE, DELETE, APPROVE, CANCEL, REJECT;
+    CREATE, UPDATE, DELETE;
 
 }
diff --git a/src/main/java/org/openepics/names/util/StructureElementUtil.java b/src/main/java/org/openepics/names/util/StructureElementUtil.java
index 8fe20cb6..dff1ff6d 100644
--- a/src/main/java/org/openepics/names/util/StructureElementUtil.java
+++ b/src/main/java/org/openepics/names/util/StructureElementUtil.java
@@ -45,6 +45,10 @@ import com.google.common.collect.Lists;
  */
 public class StructureElementUtil {
 
+    // note
+    //     processed attributes for structures are used, not requested attributes
+    //         requested attributes also used prior to removal of use of status attribute
+
     /**
      * This class is not to be instantiated.
      */
@@ -58,32 +62,15 @@ public class StructureElementUtil {
      * @param systemGroups system groups
      * @param holderStructures holder of system and device structure content
      * @param structureChoice whether to consider content from structure perspective or history perspective.
-     *                        Structure perspective gives one StructureElement object (processed).
-     *                        History perspective gives one or two StructureElement objects (requested, processed).
+     *                        Structure perspective will give mnemonic path.
+     *                        History perspective may give empty mnemonic path as non-trivial to find out for history.
      *                        If choice not given then default as structure perspective (processed).
      * @return list of structure elements
      */
     public static List<StructureElement> getStructureElementsForSystemGroups(List<SystemGroup> systemGroups, HolderStructures holderStructures, StructureChoice structureChoice) {
         List<StructureElement> structureElements = Lists.newArrayList();
         for (SystemGroup systemGroup : systemGroups) {
-            // one or two return elements for history
-            //     processed != null --> two entries (requested, processed)
-            //     processed == null --> one entry   (requested)
-
-            if (StructureChoice.HISTORY.equals(structureChoice)) {
-                if (systemGroup.getProcessed() != null) {
-                    structureElements.add(getStructureElementRequested(systemGroup));
-                    structureElements.add(getStructureElementProcessed(systemGroup, holderStructures, structureChoice));
-                } else {
-                    structureElements.add(getStructureElementRequested(systemGroup));
-                }
-            } else {
-                if (Status.PENDING.equals(systemGroup.getStatus())) {
-                    structureElements.add(getStructureElementRequested(systemGroup));
-                } else {
-                    structureElements.add(getStructureElementProcessed(systemGroup, holderStructures, structureChoice));
-                }
-            }
+            structureElements.add(getStructureElementProcessed(systemGroup, holderStructures, structureChoice));
         }
         return structureElements;
     }
@@ -93,32 +80,15 @@ public class StructureElementUtil {
      * @param systems systems
      * @param holderStructures holder of system and device structure content
      * @param structureChoice whether to consider content from structure perspective or history perspective.
-     *                        Structure perspective gives one StructureElement object (processed).
-     *                        History perspective gives one or two StructureElement objects (requested, processed).
+     *                        Structure perspective will give mnemonic path.
+     *                        History perspective may give empty mnemonic path as non-trivial to find out for history.
      *                        If choice not given then default as structure perspective (processed).
      * @return list of structure elements
      */
     public static List<StructureElement> getStructureElementsForSystems(List<System> systems, HolderStructures holderStructures, StructureChoice structureChoice) {
         List<StructureElement> structureElements = Lists.newArrayList();
         for (System system : systems) {
-            // one or two return elements for history
-            //     processed != null --> two entries (requested, processed)
-            //     processed == null --> one entry   (requested)
-
-            if (StructureChoice.HISTORY.equals(structureChoice)) {
-                if (system.getProcessed() != null) {
-                    structureElements.add(getStructureElementRequested(system));
-                    structureElements.add(getStructureElementProcessed(system, holderStructures, structureChoice));
-                } else {
-                    structureElements.add(getStructureElementRequested(system));
-                }
-            } else {
-                if (Status.PENDING.equals(system.getStatus())) {
-                    structureElements.add(getStructureElementRequested(system));
-                } else {
-                    structureElements.add(getStructureElementProcessed(system, holderStructures, structureChoice));
-                }
-            }
+            structureElements.add(getStructureElementProcessed(system, holderStructures, structureChoice));
         }
         return structureElements;
     }
@@ -128,32 +98,15 @@ public class StructureElementUtil {
      * @param subsystems subsystems
      * @param holderStructures holder of system and device structure content
      * @param structureChoice whether to consider content from structure perspective or history perspective.
-     *                        Structure perspective gives one StructureElement object (processed).
-     *                        History perspective gives one or two StructureElement objects (requested, processed).
+     *                        Structure perspective will give mnemonic path.
+     *                        History perspective may give empty mnemonic path as non-trivial to find out for history.
      *                        If choice not given then default as structure perspective (processed).
      * @return list of structure elements
      */
     public static List<StructureElement> getStructureElementsForSubsystems(List<Subsystem> subsystems, HolderStructures holderStructures, StructureChoice structureChoice) {
         List<StructureElement> structureElements = Lists.newArrayList();
         for (Subsystem subsystem : subsystems) {
-            // one or two return elements for history
-            //     processed != null --> two entries (requested, processed)
-            //     processed == null --> one entry   (requested)
-
-            if (StructureChoice.HISTORY.equals(structureChoice)) {
-                if (subsystem.getProcessed() != null) {
-                    structureElements.add(getStructureElementRequested(subsystem));
-                    structureElements.add(getStructureElementProcessed(subsystem, holderStructures, structureChoice));
-                } else {
-                    structureElements.add(getStructureElementRequested(subsystem));
-                }
-            } else {
-                if (Status.PENDING.equals(subsystem.getStatus())) {
-                    structureElements.add(getStructureElementRequested(subsystem));
-                } else {
-                    structureElements.add(getStructureElementProcessed(subsystem, holderStructures, structureChoice));
-                }
-            }
+            structureElements.add(getStructureElementProcessed(subsystem, holderStructures, structureChoice));
         }
         return structureElements;
     }
@@ -164,32 +117,15 @@ public class StructureElementUtil {
      * @param disciplines disciplines
      * @param holderStructures holder of system and device structure content
      * @param structureChoice whether to consider content from structure perspective or history perspective.
-     *                        Structure perspective gives one StructureElement object (processed).
-     *                        History perspective gives one or two StructureElement objects (requested, processed).
+     *                        Structure perspective will give mnemonic path.
+     *                        History perspective may give empty mnemonic path as non-trivial to find out for history.
      *                        If choice not given then default as structure perspective (processed).
      * @return list of structure elements
      */
     public static List<StructureElement> getStructureElementsForDisciplines(List<Discipline> disciplines, HolderStructures holderStructures, StructureChoice structureChoice) {
         List<StructureElement> structureElements = Lists.newArrayList();
         for (Discipline discipline : disciplines) {
-            // one or two return elements for history
-            //     processed != null --> two entries (requested, processed)
-            //     processed == null --> one entry   (requested)
-
-            if (StructureChoice.HISTORY.equals(structureChoice)) {
-                if (discipline.getProcessed() != null) {
-                    structureElements.add(getStructureElementRequested(discipline));
-                    structureElements.add(getStructureElementProcessed(discipline, holderStructures, structureChoice));
-                } else {
-                    structureElements.add(getStructureElementRequested(discipline));
-                }
-            } else {
-                if (Status.PENDING.equals(discipline.getStatus())) {
-                    structureElements.add(getStructureElementRequested(discipline));
-                } else {
-                    structureElements.add(getStructureElementProcessed(discipline, holderStructures, structureChoice));
-                }
-            }
+            structureElements.add(getStructureElementProcessed(discipline, holderStructures, structureChoice));
         }
         return structureElements;
     }
@@ -199,32 +135,15 @@ public class StructureElementUtil {
      * @param deviceGroups device groups
      * @param holderStructures holder of system and device structure content
      * @param structureChoice whether to consider content from structure perspective or history perspective.
-     *                        Structure perspective gives one StructureElement object (processed).
-     *                        History perspective gives one or two StructureElement objects (requested, processed).
+     *                        Structure perspective will give mnemonic path.
+     *                        History perspective may give empty mnemonic path as non-trivial to find out for history.
      *                        If choice not given then default as structure perspective (processed).
      * @return list of structure elements
      */
     public static List<StructureElement> getStructureElementsForDeviceGroups(List<DeviceGroup> deviceGroups, HolderStructures holderStructures, StructureChoice structureChoice) {
         List<StructureElement> structureElements = Lists.newArrayList();
         for (DeviceGroup deviceGroup : deviceGroups) {
-            // one or two return elements for history
-            //     processed != null --> two entries (requested, processed)
-            //     processed == null --> one entry   (requested)
-
-            if (StructureChoice.HISTORY.equals(structureChoice)) {
-                if (deviceGroup.getProcessed() != null) {
-                    structureElements.add(getStructureElementRequested(deviceGroup));
-                    structureElements.add(getStructureElementProcessed(deviceGroup, holderStructures, structureChoice));
-                } else {
-                    structureElements.add(getStructureElementRequested(deviceGroup));
-                }
-            } else {
-                if (Status.PENDING.equals(deviceGroup.getStatus())) {
-                    structureElements.add(getStructureElementRequested(deviceGroup));
-                } else {
-                    structureElements.add(getStructureElementProcessed(deviceGroup, holderStructures, structureChoice));
-                }
-            }
+            structureElements.add(getStructureElementProcessed(deviceGroup, holderStructures, structureChoice));
         }
         return structureElements;
     }
@@ -234,60 +153,19 @@ public class StructureElementUtil {
      * @param deviceTypes device types
      * @param holderStructures holder of system and device structure content
      * @param structureChoice whether to consider content from structure perspective or history perspective.
-     *                        Structure perspective gives one StructureElement object (processed).
-     *                        History perspective gives one or two StructureElement objects (requested, processed).
+     *                        Structure perspective will give mnemonic path.
+     *                        History perspective may give empty mnemonic path as non-trivial to find out for history.
      *                        If choice not given then default as structure perspective (processed).
      * @return list of structure elements
      */
     public static List<StructureElement> getStructureElementsForDeviceTypes(List<DeviceType> deviceTypes, HolderStructures holderStructures, StructureChoice structureChoice) {
         List<StructureElement> structureElements = Lists.newArrayList();
         for (DeviceType deviceType : deviceTypes) {
-            // one or two return elements for history
-            //     processed != null --> two entries (requested, processed)
-            //     processed == null --> one entry   (requested)
-
-            if (StructureChoice.HISTORY.equals(structureChoice)) {
-                if (deviceType.getProcessed() != null) {
-                    structureElements.add(getStructureElementRequested(deviceType));
-                    structureElements.add(getStructureElementProcessed(deviceType, holderStructures, structureChoice));
-                } else {
-                    structureElements.add(getStructureElementRequested(deviceType));
-                }
-            } else {
-                if (Status.PENDING.equals(deviceType.getStatus())) {
-                    structureElements.add(getStructureElementRequested(deviceType));
-                } else {
-                    structureElements.add(getStructureElementProcessed(deviceType, holderStructures, structureChoice));
-                }
-            }
+            structureElements.add(getStructureElementProcessed(deviceType, holderStructures, structureChoice));
         }
         return structureElements;
     }
 
-    /**
-     * Populate and return structure element for system group with focus on requested.
-     *
-     * @param systemGroup system group
-     * @return structure element
-     */
-    public static StructureElement getStructureElementRequested(SystemGroup systemGroup) {
-        if (systemGroup == null) {
-            return null;
-        }
-
-        // mnemonic path
-        //     ambiguous if considered in past (requested, processed)
-        //     not for history of structure
-        //     for latest & approved status
-        String mnemonicPath = null;
-
-        return getStructureElement(
-                systemGroup.getUuid(), Type.SYSTEMGROUP, null,
-                systemGroup.getMnemonic(), systemGroup.getOrdering(), systemGroup.getDescription(),
-                mnemonicPath, 1,
-                Status.PENDING, Boolean.FALSE, systemGroup.isDeleted(),
-                systemGroup.getRequested(), systemGroup.getRequestedBy(), systemGroup.getRequestedComment());
-    }
     /**
      * Populate and return structure element for system group with focus on processed.
      *
@@ -316,30 +194,6 @@ public class StructureElementUtil {
                 systemGroup.getStatus(), systemGroup.isLatest(), systemGroup.isDeleted(),
                 systemGroup.getProcessed(), systemGroup.getProcessedBy(), systemGroup.getProcessedComment());
     }
-    /**
-     * Populate and return structure element for system group with focus on requested.
-     *
-     * @param system system
-     * @return structure element
-     */
-    public static StructureElement getStructureElementRequested(System system) {
-        if (system == null) {
-            return null;
-        }
-
-        // mnemonic path
-        //     ambiguous if considered in past (requested, processed)
-        //     not history of structure
-        //     latest & approved status
-        String mnemonicPath = null;
-
-        return getStructureElement(
-                system.getUuid(), Type.SYSTEM, system.getParentUuid(),
-                system.getMnemonic(), system.getOrdering(), system.getDescription(),
-                mnemonicPath, 2,
-                Status.PENDING, Boolean.FALSE, system.isDeleted(),
-                system.getRequested(), system.getRequestedBy(), system.getRequestedComment());
-    }
     /**
      * Populate and return structure element for system with focus on processed.
      *
@@ -368,30 +222,6 @@ public class StructureElementUtil {
                 system.getStatus(), system.isLatest(), system.isDeleted(),
                 system.getProcessed(), system.getProcessedBy(), system.getProcessedComment());
     }
-    /**
-     * Populate and return structure element for subsystem with focus on requested.
-     *
-     * @param subsystem subsystem
-     * @return structure element
-     */
-    public static StructureElement getStructureElementRequested(Subsystem subsystem) {
-        if (subsystem == null) {
-            return null;
-        }
-
-        // mnemonic path
-        //     ambiguous if considered in past (requested, processed)
-        //     not history of structure
-        //     latest & approved status
-        String mnemonicPath = null;
-
-        return getStructureElement(
-                subsystem.getUuid(), Type.SUBSYSTEM, subsystem.getParentUuid(),
-                subsystem.getMnemonic(), subsystem.getOrdering(), subsystem.getDescription(),
-                mnemonicPath, 3,
-                Status.PENDING, Boolean.FALSE, subsystem.isDeleted(),
-                subsystem.getRequested(), subsystem.getRequestedBy(), subsystem.getRequestedComment());
-    }
     /**
      * Populate and return structure element for subsystem with focus on processed.
      *
@@ -421,30 +251,6 @@ public class StructureElementUtil {
                 subsystem.getProcessed(), subsystem.getProcessedBy(), subsystem.getProcessedComment());
     }
 
-    /**
-     * Populate and return structure element for discipline with focus on requested.
-     *
-     * @param discipline discipline
-     * @return structure element
-     */
-    public static StructureElement getStructureElementRequested(Discipline discipline) {
-        if (discipline == null) {
-            return null;
-        }
-
-        // mnemonic path
-        //     ambiguous if considered in past (requested, processed)
-        //     not history of structure
-        //     latest & approved status
-        String mnemonicPath = null;
-
-        return getStructureElement(
-                discipline.getUuid(), Type.DISCIPLINE, null,
-                discipline.getMnemonic(), discipline.getOrdering(), discipline.getDescription(),
-                mnemonicPath, 1,
-                Status.PENDING, Boolean.FALSE, discipline.isDeleted(),
-                discipline.getRequested(), discipline.getRequestedBy(), discipline.getRequestedComment());
-    }
     /**
      * Populate and return structure element for discipline with focus on processed.
      *
@@ -473,30 +279,6 @@ public class StructureElementUtil {
                 discipline.getStatus(), discipline.isLatest(), discipline.isDeleted(),
                 discipline.getProcessed(), discipline.getProcessedBy(), discipline.getProcessedComment());
     }
-    /**
-     * Populate and return structure element for device group with focus on requested.
-     *
-     * @param deviceGroup device group
-     * @return structure element
-     */
-    public static StructureElement getStructureElementRequested(DeviceGroup deviceGroup) {
-        if (deviceGroup == null) {
-            return null;
-        }
-
-        // mnemonic path
-        //     ambiguous if considered in past (requested, processed)
-        //     not history of structure
-        //     latest & approved status
-        String mnemonicPath = null;
-
-        return getStructureElement(
-                deviceGroup.getUuid(), Type.DEVICEGROUP, deviceGroup.getParentUuid(),
-                deviceGroup.getMnemonic(), deviceGroup.getOrdering(), deviceGroup.getDescription(),
-                mnemonicPath, 2,
-                Status.PENDING, Boolean.FALSE, deviceGroup.isDeleted(),
-                deviceGroup.getRequested(), deviceGroup.getRequestedBy(), deviceGroup.getRequestedComment());
-    }
     /**
      * Populate and return structure element for device group with focus on processed.
      *
@@ -525,30 +307,6 @@ public class StructureElementUtil {
                 deviceGroup.getStatus(), deviceGroup.isLatest(), deviceGroup.isDeleted(),
                 deviceGroup.getProcessed(), deviceGroup.getProcessedBy(), deviceGroup.getProcessedComment());
     }
-    /**
-     * Populate and return structure element for device type with focus on requested.
-     *
-     * @param deviceType device type
-     * @return  structure element
-     */
-    public static StructureElement getStructureElementRequested(DeviceType deviceType) {
-        if (deviceType == null) {
-            return null;
-        }
-
-        // mnemonic path
-        //     ambiguous if considered in past (requested, processed)
-        //     not history of structure
-        //     latest & approved status
-        String mnemonicPath = null;
-
-        return getStructureElement(
-                deviceType.getUuid(), Type.DEVICETYPE, deviceType.getParentUuid(),
-                deviceType.getMnemonic(), deviceType.getOrdering(), deviceType.getDescription(),
-                mnemonicPath, 3,
-                Status.PENDING, Boolean.FALSE, deviceType.isDeleted(),
-                deviceType.getRequested(), deviceType.getRequestedBy(), deviceType.getRequestedComment());
-    }
     /**
      * Populate and return structure element for device type with focus on processed.
      *
@@ -880,5 +638,4 @@ public class StructureElementUtil {
         return structureElementCommands;
     }
 
-
 }
diff --git a/src/main/java/org/openepics/names/util/StructureUtil.java b/src/main/java/org/openepics/names/util/StructureUtil.java
index ca9848c0..45536727 100644
--- a/src/main/java/org/openepics/names/util/StructureUtil.java
+++ b/src/main/java/org/openepics/names/util/StructureUtil.java
@@ -27,7 +27,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.openepics.names.repository.model.DeviceGroup;
 import org.openepics.names.repository.model.DeviceType;
 import org.openepics.names.repository.model.Discipline;
-import org.openepics.names.repository.model.Structure;
 import org.openepics.names.repository.model.Subsystem;
 import org.openepics.names.repository.model.System;
 import org.openepics.names.repository.model.SystemGroup;
@@ -278,24 +277,6 @@ public class StructureUtil {
 
     // --------------------------------------------------
 
-    /**
-     * Highly specialized method to find out kind of structure command (create, update, delete).
-     * Intended to be used for services purposes, including notification, in approve, cancel, reject operations.
-     *
-     * @param previous list of previous structures
-     * @param structure structure
-     * @return structure command
-     */
-    public static StructureCommand getStructureCommandCUD(List<?> previous, Structure structure) {
-        if (previous == null || previous.isEmpty()) {
-            return StructureCommand.CREATE;
-        } else if (structure != null && Boolean.TRUE.equals(structure.isDeleted())) {
-            return StructureCommand.DELETE;
-        } else {
-            return StructureCommand.UPDATE;
-        }
-    }
-
     protected static List<UUID> listSystemGroup2Uuid(List<SystemGroup> systemGroups) {
         final List<UUID> listUuid = Lists.newArrayList();
         for (SystemGroup systemGroup : systemGroups) {
diff --git a/src/main/java/org/openepics/names/util/TextUtil.java b/src/main/java/org/openepics/names/util/TextUtil.java
index 4ea9b985..ef8a8e28 100644
--- a/src/main/java/org/openepics/names/util/TextUtil.java
+++ b/src/main/java/org/openepics/names/util/TextUtil.java
@@ -160,9 +160,6 @@ public class TextUtil {
     public static final String READ_STRUCTURES_MNEMONIC_PATH      = "Read structures mnemonic path";
     public static final String EXISTS_STRUCTURE                   = "Exists structure";
     public static final String IS_VALID_TO_CREATE_STRUCTURE       = "Is valid to create structure";
-    public static final String APPROVE_STRUCTURE                  = "Approve structure";
-    public static final String CANCEL_STRUCTURE                   = "Cancel structure";
-    public static final String REJECT_STRUCTURE                   = "Reject structure";
 
     // process variable name property validation
     //     . character to be present
diff --git a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
index cc35e6c0..1f3836c8 100644
--- a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
+++ b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java
@@ -39,10 +39,6 @@ import org.openepics.names.rest.beans.element.NameElementCommand;
 public class ValidateNameElementUtil {
 
     // note
-    //     handling of system structure, device structure
-    //         parent system structure uuid (system group, system, subsystem)
-    //         parent device structure uuid (device type)
-    //
     //     NameElement
     //         uuid,
     //         systemGroup, system, subsystem, deviceType, systemStructure, deviceStructure,
@@ -131,11 +127,6 @@ public class ValidateNameElementUtil {
         //	   delete - uuid
         //
         //     create, update - optional - parentDeviceStructure, index
-        //
-        // logic
-        //     update, delete
-        //     create, update
-        //     create, update, delete
 
         if (ValidateUtil.isAnyNull(nameElementCommand, nameCommand)) {
             return;
@@ -147,6 +138,15 @@ public class ValidateNameElementUtil {
         String index = nameElementCommand.getIndex();
         String description = nameElementCommand.getDescription();
 
+        // validate input
+        //     update, delete
+        //         uuid
+        //     create, update
+        //         parentSystemStructure
+        //         parentDeviceStructure
+        //         index
+        //         description
+
         if (ValidateUtil.isAnyEqual(nameCommand, NameCommand.UPDATE, NameCommand.DELETE)) {
             ValidateUtil.validateInputUuid(uuid != null ? uuid.toString() : null);
         }
@@ -243,9 +243,14 @@ public class ValidateNameElementUtil {
         UUID parentDevicestructure = nameElementCommand.getParentDeviceStructure();
         String index = nameElementCommand.getIndex();
 
-        // name
-        //     update, delete - uuid available, not deleted
-        //     retrieve for uuid and check
+        // validate data
+        //     update, delete
+        //         uuid available, not deleted
+        //     create, update
+        //         parentSystemstructure - systemgroup, system, subsystem
+        //         parentDevicestructure - devicetype
+        //         index                 - index, name
+
         if (ValidateUtil.isAnyEqual(nameCommand, NameCommand.UPDATE, NameCommand.DELETE)) {
             List<Name> names = nameRepository.readNames(false, uuid.toString(), null, null, null, null, null, null, null);
             ExceptionUtil.validateConditionDataNotFoundException(ValidateUtil.isSize(names, 1),
@@ -328,7 +333,7 @@ public class ValidateNameElementUtil {
             if (NameCommand.CREATE.equals(nameCommand)) {
                 condition = ValidateUtil.isNullOrEmpty(names);
             } else {
-                // NameCommand.UPDATE.equals(nameCommand)
+                // NameCommand.UPDATE
                 condition = ValidateUtil.isNullOrEmpty(names) || names.size() == 1 && names.get(0).getUuid().equals(uuid);
             }
             ExceptionUtil.validateConditionDataConflictException(condition,
diff --git a/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java b/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java
index 3bcea2a6..dd45568d 100644
--- a/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java
+++ b/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java
@@ -22,10 +22,7 @@ import java.util.UUID;
 
 import org.apache.commons.lang3.StringUtils;
 import org.openepics.names.exception.DataConflictException;
-import org.openepics.names.repository.model.DeviceGroup;
-import org.openepics.names.repository.model.DeviceType;
 import org.openepics.names.repository.model.Discipline;
-import org.openepics.names.repository.model.Subsystem;
 import org.openepics.names.repository.model.System;
 import org.openepics.names.repository.model.SystemGroup;
 import org.openepics.names.rest.beans.FieldStructure;
@@ -43,10 +40,6 @@ import com.google.common.collect.Lists;
 public class ValidateStructureElementUtil {
 
     // note
-    //     handling of system structure, device structure
-    //         parent system structure uuid (system group, system, subsystem)
-    //         parent device structure uuid (device type)
-    //
     //     StructureElement
     //         type, uuid, parent,
     //         mnemonic, ordering, description,
@@ -58,9 +51,6 @@ public class ValidateStructureElementUtil {
     //	       create  -       type, parent, mnemonic, ordering, description
     //	       update  - uuid, type, parent, mnemonic, ordering, description
     //	       delete  - uuid, type
-    //	       approve - uuid, type
-    //	       cancel  - uuid, type
-    //	       reject  - uuid, type
 
     /**
      * This class is not to be instantiated.
@@ -160,33 +150,6 @@ public class ValidateStructureElementUtil {
         validateStructureElementInput(structureElementCommand, namingConvention, StructureCommand.DELETE);
     }
 
-    /**
-     * Validate structure element command parameters (input) for approve.
-     *
-     * @param structureElementCommand structure element command
-     */
-    public static void validateStructureElementInputApprove(StructureElementCommand structureElementCommand, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElementCommand, namingConvention, StructureCommand.APPROVE);
-    }
-
-    /**
-     * Validate structure element command parameters (input) for cancel.
-     *
-     * @param structureElementCommand structure element command
-     */
-    public static void validateStructureElementInputCancel(StructureElementCommand structureElementCommand, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElementCommand, namingConvention, StructureCommand.CANCEL);
-    }
-
-    /**
-     * Validate structure element command parameters (input) for reject.
-     *
-     * @param structureElementCommand structure element command
-     */
-    public static void validateStructureElementInputReject(StructureElementCommand structureElementCommand, EssNamingConvention namingConvention) {
-        validateStructureElementInput(structureElementCommand, namingConvention, StructureCommand.REJECT);
-    }
-
     /**
      * Validate structure element command parameters (input).
      *
@@ -198,16 +161,8 @@ public class ValidateStructureElementUtil {
         //     create  -       type, parent, mnemonic, ordering, description
         //	   update  - uuid, type, parent, mnemonic, ordering, description
         //	   delete  - uuid, type
-        //	   approve - uuid, type
-        //	   cancel  - uuid, type
-        //	   reject  - uuid, type
         //
         //     create, update - optional - parent, mnemonic
-        //
-        // logic
-        //     update, delete, approve, cancel, reject
-        //     create, update
-        //     create, update, delete, approve, cancel, reject
 
         if (ValidateUtil.isAnyNull(structureElementCommand, namingConvention, structureCommand)) {
             return;
@@ -219,7 +174,17 @@ public class ValidateStructureElementUtil {
         String mnemonic = structureElementCommand.getMnemonic();
         String description = structureElementCommand.getDescription();
 
-        if (ValidateUtil.isAnyEqual(structureCommand, StructureCommand.UPDATE, StructureCommand.DELETE, StructureCommand.APPROVE, StructureCommand.CANCEL, StructureCommand.REJECT)) {
+        // validate input
+        //     update, delete
+        //         uuid
+        //     all
+        //         type
+        //     create. update
+        //         parent
+        //         mnemonic
+        //         description
+
+        if (ValidateUtil.isAnyEqual(structureCommand, StructureCommand.UPDATE, StructureCommand.DELETE)) {
             ValidateUtil.validateInputUuid(uuid != null ? uuid.toString() : null);
         }
 
@@ -284,45 +249,6 @@ public class ValidateStructureElementUtil {
         validateStructureElementDataRelativeOtherData(structureElementCommand, namingConvention, holderRepositories, holderStructures, StructureCommand.DELETE);
     }
 
-    /**
-     * Validate structure element command data for approve.
-     *
-     * @param structureElementCommand structure element command
-     * @param namingConvention naming convention
-     * @param holderRepositories holder repositories
-     * @param holderStructures holder of system and device structure content
-     */
-    public static void validateStructureElementDataApprove(StructureElementCommand structureElementCommand, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderStructures holderStructures) {
-        validateStructureElementDataInItself(structureElementCommand, holderRepositories, StructureCommand.APPROVE);
-        validateStructureElementDataRelativeOtherData(structureElementCommand, namingConvention, holderRepositories, holderStructures, StructureCommand.APPROVE);
-    }
-
-    /**
-     * Validate structure element command data for cancel.
-     *
-     * @param structureElementCommand structure element command
-     * @param namingConvention naming convention
-     * @param holderRepositories holder repositories
-     * @param holderStructures holder of system and device structure content
-     */
-    public static void validateStructureElementDataCancel(StructureElementCommand structureElementCommand, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderStructures holderStructures) {
-        validateStructureElementDataInItself(structureElementCommand, holderRepositories, StructureCommand.CANCEL);
-        validateStructureElementDataRelativeOtherData(structureElementCommand, namingConvention, holderRepositories, holderStructures, StructureCommand.CANCEL);
-    }
-
-    /**
-     * Validate structure element command data for reject.
-     *
-     * @param structureElementCommand structure element command
-     * @param namingConvention naming convention
-     * @param holderRepositories holder repositories
-     * @param holderStructures holder of system and device structure content
-     */
-    public static void validateStructureElementDataReject(StructureElementCommand structureElementCommand, EssNamingConvention namingConvention, HolderRepositories holderRepositories, HolderStructures holderStructures) {
-        validateStructureElementDataInItself(structureElementCommand, holderRepositories, StructureCommand.REJECT);
-        validateStructureElementDataRelativeOtherData(structureElementCommand, namingConvention, holderRepositories, holderStructures, StructureCommand.REJECT);
-    }
-
     /**
      * Validate structure element command data in itself.
      *
@@ -335,19 +261,14 @@ public class ValidateStructureElementUtil {
         //     create  -       type, parent, mnemonic, ordering, description
         //	   update  - uuid, type, parent, mnemonic, ordering, description
         //	   delete  - uuid, type
-        //	   approve - uuid, type
-        //	   cancel  - uuid, type
-        //	   reject  - uuid, type
         //
         //     create, update - optional - parent, mnemonic
         //
         // check structure element data in itself
         //     update, delete
         //         definitely (not possibly)
-        //             no pending entry waiting to be approved, cancelled, rejected (pending with higher id than currently approved)
+        //             no pending entry waiting to be handled (pending with higher id than currently approved)
         //         uuid - approved, latest, not deleted - list size 1
-        //     approve, reject, cancel
-        //         uuid - pending, latest, not deleted  - list size 1
 
         if (ValidateUtil.isAnyNull(structureElementCommand, holderRepositories, structureCommand)) {
             return;
@@ -365,10 +286,9 @@ public class ValidateStructureElementUtil {
         //     systemgroup, discipline
         //         not have parent
         //     update, delete
+        //         entry found
         //         entry not pending
         //         entry approved and not deleted
-        //     approve, cancel, reject
-        //         entry pending
 
         if (ValidateUtil.isAnyEqual(type, Type.SYSTEMGROUP, Type.DISCIPLINE) && parent != null) {
             throw ExceptionUtil.createDataNotCorrectException(TextUtil.PARENT_IS_NOT_CORRECT, details, field);
@@ -379,11 +299,6 @@ public class ValidateStructureElementUtil {
                     holderRepositories, message, details, field);
             validateStructuresValidSize1(uuid, type, Status.APPROVED, Boolean.FALSE,
                     holderRepositories, message, details, field);
-        } else if (ValidateUtil.isAnyEqual(structureCommand, StructureCommand.APPROVE, StructureCommand.CANCEL, StructureCommand.REJECT)) {
-            validateStructuresFound(uuid, type,
-                    holderRepositories, message, details, field);
-            validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                    holderRepositories, message, details, field);
         }
     }
 
@@ -434,9 +349,6 @@ public class ValidateStructureElementUtil {
         //     create  -       type, parent, mnemonic, ordering, description
         //	   update  - uuid, type, parent, mnemonic, ordering, description
         //	   delete  - uuid, type
-        //	   approve - uuid, type
-        //	   cancel  - uuid, type
-        //	   reject  - uuid, type
         //
         //     create, update - optional - parent, mnemonic
         //
@@ -469,8 +381,9 @@ public class ValidateStructureElementUtil {
 
         // validate data relative other data
         //     create, update
-        //         entry (uuid,) status, mnemonic
-        //         entry (uuid,) status, mnemonic equivalence
+        //         entry parent
+        //         entry mnemonic
+        //         entry mnemonic equivalence
         //     approve
         //         entry uuid, status
 
@@ -535,6 +448,7 @@ public class ValidateStructureElementUtil {
                 // note rules for mnemonic for device group
 
                 // mnemonic
+                //     fits logic here but really validateStructureElementDataInItself
                 message = TextUtil.DEVICEGROUP_IS_NOT_CORRECT;
                 ExceptionUtil.validateConditionDataConflictException(StringUtils.isEmpty(mnemonic), message, details, field);
             } else if (Type.DEVICETYPE.equals(type)) {
@@ -552,89 +466,6 @@ public class ValidateStructureElementUtil {
                 validateStructuresStatusMnemonicequivalence(uuid, type, parent, mnemonic,
                         namingConvention, holderRepositories, structureCommand, message, details, field);
             }
-        } else if (StructureCommand.APPROVE.equals(structureCommand)) {
-            // possibly additional checks to ensure (status, mnemonic) and (status, mnemonic equivalence)
-            // however that would be duplicate checks as already checked at time of create, update
-
-            if (Type.SYSTEMGROUP.equals(type)) {
-                // status, uuid
-                message = TextUtil.SYSTEMGROUP_IS_NOT_CORRECT;
-                validateStructuresFound(uuid, type,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                        holderRepositories, message, details, field);
-            } else if (Type.SYSTEM.equals(type)) {
-                // status, uuid
-                message = TextUtil.SYSTEM_IS_NOT_CORRECT;
-                validateStructuresFound(uuid, type,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                        holderRepositories, message, details, field);
-
-                List<System> systems = holderRepositories.systemRepository().readSystems(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null);
-
-                // status, parent
-                message = TextUtil.SYSTEMGROUP_IS_NOT_CORRECT;
-                validateStructuresFound(systems.get(0).getParentUuid(), Type.SYSTEMGROUP,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(systems.get(0).getParentUuid(), Type.SYSTEMGROUP, Status.APPROVED, false,
-                        holderRepositories, message, details, field);
-            } else if (Type.SUBSYSTEM.equals(type)) {
-                // status, uuid
-                message = TextUtil.SUBSYSTEM_IS_NOT_CORRECT;
-                validateStructuresFound(uuid, type,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                        holderRepositories, message, details, field);
-
-                List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null);
-
-                // status, parent
-                message = TextUtil.SYSTEM_IS_NOT_CORRECT;
-                validateStructuresFound(subsystems.get(0).getParentUuid(), Type.SYSTEM,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(subsystems.get(0).getParentUuid(), Type.SYSTEM, Status.APPROVED, false,
-                        holderRepositories, message, details, field);
-            } else if (Type.DISCIPLINE.equals(type)) {
-                // status, uuid
-                message = TextUtil.DISCIPLINE_IS_NOT_CORRECT;
-                validateStructuresFound(uuid, type,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                        holderRepositories, message, details, field);
-            } else if (Type.DEVICEGROUP.equals(type)) {
-                // status, uuid
-                message = TextUtil.DEVICEGROUP_IS_NOT_CORRECT;
-                validateStructuresFound(uuid, type,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                        holderRepositories, message, details, field);
-
-                List<DeviceGroup> deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroups(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null);
-
-                // status, parent
-                message = TextUtil.DISCIPLINE_IS_NOT_CORRECT;
-                validateStructuresFound(deviceGroups.get(0).getParentUuid(), Type.DISCIPLINE,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(deviceGroups.get(0).getParentUuid(), Type.DISCIPLINE, Status.APPROVED, false,
-                        holderRepositories, message, details, field);
-            } else if (Type.DEVICETYPE.equals(type)) {
-                // status, uuid
-                message = TextUtil.DEVICETYPE_IS_NOT_CORRECT;
-                validateStructuresFound(uuid, type,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(uuid, type, Status.PENDING, null,
-                        holderRepositories, message, details, field);
-
-                List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null);
-
-                // status, parent
-                message = TextUtil.DISCIPLINE_IS_NOT_CORRECT;
-                validateStructuresFound(deviceTypes.get(0).getParentUuid(), Type.DEVICEGROUP,
-                        holderRepositories, message, details, field);
-                validateStructuresValidSize1(deviceTypes.get(0).getParentUuid(), Type.DEVICEGROUP, Status.APPROVED, false,
-                        holderRepositories, message, details, field);
-            }
         }
     }
 
diff --git a/src/main/java/org/openepics/names/util/notification/NotificationStructure.java b/src/main/java/org/openepics/names/util/notification/NotificationStructure.java
index a3357a72..33ea0035 100644
--- a/src/main/java/org/openepics/names/util/notification/NotificationStructure.java
+++ b/src/main/java/org/openepics/names/util/notification/NotificationStructure.java
@@ -31,11 +31,10 @@ import org.openepics.names.util.StructureCommand;
  */
 public class NotificationStructure {
 
-    // cud - create update delete
-    // acr - approve cancel reject
+    // note
+    //     cud - create update delete
 
     private StructureCommand structureCommandCUD;
-    private StructureCommand structureCommandACR;
     private UUID uuid;
     private Type type;
     private String oldMnemonic;
@@ -51,7 +50,6 @@ public class NotificationStructure {
      * Public constructor.
      *
      * @param structureCommandCUD structure command (create update delete)
-     * @param structureCommandACR structure command (approve cancel reject)
      * @param type type
      * @param uuid uuid
      * @param oldMnemonic old mnemonic
@@ -63,14 +61,13 @@ public class NotificationStructure {
      * @param when when
      * @param who who
      */
-    public NotificationStructure(StructureCommand structureCommandCUD, StructureCommand structureCommandACR,
+    public NotificationStructure(StructureCommand structureCommandCUD,
             Type type, UUID uuid,
             String oldMnemonic, String oldMnemonicpath, String oldDescription,
             String newMnemonic, String newMnemonicpath, String newDescription,
             Date when, String who) {
         super();
         this.structureCommandCUD = structureCommandCUD;
-        this.structureCommandACR = structureCommandACR;
         this.type = type;
         this.uuid = uuid;
         this.oldMnemonic = oldMnemonic;
@@ -86,9 +83,6 @@ public class NotificationStructure {
     public StructureCommand getStructureCommandCUD() {
         return structureCommandCUD;
     }
-    public StructureCommand getStructureCommandACR() {
-        return structureCommandACR;
-    }
     public Type getType() {
         return type;
     }
@@ -125,7 +119,6 @@ public class NotificationStructure {
         StringBuilder sb = new StringBuilder();
         sb.append("{");
         sb.append("\"structureCommandCUD\": "   + getStructureCommandCUD());
-        sb.append(", \"structureCommandACR\": " + getStructureCommandACR());
         sb.append(", \"uuid\": "                + getUuid());
         sb.append(", \"type\": "                + getType());
         sb.append(", \"oldMnemonic\": "         + getOldMnemonic());
diff --git a/src/main/java/org/openepics/names/util/notification/NotificationUtil.java b/src/main/java/org/openepics/names/util/notification/NotificationUtil.java
index b3fdad7a..df7d8f4c 100644
--- a/src/main/java/org/openepics/names/util/notification/NotificationUtil.java
+++ b/src/main/java/org/openepics/names/util/notification/NotificationUtil.java
@@ -60,24 +60,6 @@ public class NotificationUtil {
         throw new IllegalStateException("Utility class");
     }
 
-    /**
-     * Highly specialized method to find out kind of structure command (create, update, delete) for notification purposes.
-     * Intended to be used for notification purposes in approve, cancel, reject operations.
-     *
-     * @param previous list of previous structures
-     * @param structure structure
-     * @return structure command
-     */
-    public static StructureCommand getStructureCommandCUD(List<?> previous, Structure structure) {
-        if (previous == null || previous.isEmpty()) {
-            return StructureCommand.CREATE;
-        } else if (structure != null && Boolean.TRUE.equals(structure.isDeleted())) {
-            return StructureCommand.DELETE;
-        } else {
-            return StructureCommand.UPDATE;
-        }
-    }
-
     /**
      * Prepare notification and add to list of notifications if notification is available.
      *
@@ -164,19 +146,18 @@ public class NotificationUtil {
      * @param notifications list of notifications
      * @param type type
      * @param structureCommandCUD structure command (create update delete)
-     * @param structureCommandACR structure command (approve cancel reject)
      * @param previous previous (structure)
      * @param structure structure
      * @param holderStructures holder of system and device structure content
      */
     public static void prepareAddNotification(List<NotificationStructure> notifications,
-            Type type, StructureCommand structureCommandCUD, StructureCommand structureCommandACR,
+            Type type, StructureCommand structureCommandCUD,
             Structure previous, Structure structure, HolderStructures holderStructures) {
         if (notifications == null) {
             return;
         }
 
-        NotificationStructure notification = NotificationUtil.prepareNotification(type, structureCommandCUD, structureCommandACR, previous, structure, holderStructures);
+        NotificationStructure notification = NotificationUtil.prepareNotification(type, structureCommandCUD, previous, structure, holderStructures);
         if (notification != null) {
             notifications.add(notification);
         }
@@ -188,18 +169,16 @@ public class NotificationUtil {
      *
      * @param type type
      * @param structureCommandCUD structure command (create update delete)
-     * @param structureCommandACR structure command (approve cancel reject)
      * @param previous previous (structure)
      * @param structure structure
      * @param holderStructures holder of system and device structure content
      * @return notification
      */
-    public static NotificationStructure prepareNotification(Type type, StructureCommand structureCommandCUD, StructureCommand structureCommandACR,
+    public static NotificationStructure prepareNotification(Type type, StructureCommand structureCommandCUD,
             Structure previous, Structure structure, HolderStructures holderStructures) {
         if (LOGGER.isLoggable(Level.FINER)) {
             LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.PREPARE_NOTIFICATION, "type", type));
             LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.PREPARE_NOTIFICATION, "structureCommandCUD", structureCommandCUD));
-            LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.PREPARE_NOTIFICATION, "structureCommandACR", structureCommandACR));
             LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.PREPARE_NOTIFICATION, "previous", previous));
             LOGGER.log(Level.FINER, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.PREPARE_NOTIFICATION, "structure", structure));
         }
@@ -207,12 +186,6 @@ public class NotificationUtil {
         if (ValidateUtil.isAnyNull(holderStructures, type, structureCommandCUD, structure)) {
             return null;
         }
-        if (ValidateUtil.isAnyEqual(structureCommandCUD, StructureCommand.APPROVE, StructureCommand.CANCEL, StructureCommand.REJECT)) {
-            return null;
-        }
-        if (ValidateUtil.isAnyEqual(structureCommandACR, StructureCommand.CREATE, StructureCommand.UPDATE, StructureCommand.DELETE)) {
-            return null;
-        }
         if (ValidateUtil.isAnyEqual(structureCommandCUD, StructureCommand.UPDATE) && previous == null) {
             return null;
         }
@@ -230,17 +203,8 @@ public class NotificationUtil {
         //     to be able to notify about change
         //     ------------------------------------------------
         //     create                             structure
-        //     create + approve                   structure
-        //     create + cancel                    structure
-        //     create + reject                    structure
         //     update                  previous + structure
-        //     update + approve        previous + structure
-        //     update + cancel         previous + structure
-        //     update + reject         previous + structure
         //     delete                             structure
-        //     delete + approve                   structure
-        //     delete + cancel                    structure
-        //     delete + reject                    structure
         // support fields
         //     mnemonic
         //     mnemonic path - to support hierarchy
@@ -253,16 +217,8 @@ public class NotificationUtil {
         String newMnemonicpath = EMPTY;
         String newDescription = EMPTY;
 
-        Date when = null;
-        String who = EMPTY;
-
-        if (structureCommandACR == null) {
-            when = structure.getRequested();
-            who = structure.getRequestedBy();
-        } else {
-            when = structure.getProcessed();
-            who = structure.getProcessedBy();
-        }
+        Date when = structure.getProcessed();
+        String who = structure.getProcessedBy();
 
         who = StringUtils.stripToEmpty(who);
 
@@ -305,7 +261,6 @@ public class NotificationUtil {
 
         return new NotificationStructure(
                 structureCommandCUD,
-                structureCommandACR,
                 type,
                 structure.getUuid(),
                 oldMnemonic,
diff --git a/src/main/resources/static/images/naming_backend_data_access.png b/src/main/resources/static/images/naming_backend_data_access.png
index 0c4a8bd88f1e40a718ab5e423b5d3db9024552f9..e012d8fc279313e56a25fb08b9b6c55c49c1e4f2 100644
GIT binary patch
literal 26225
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
TPyqLkAyQM;zF&OLCiMRS!7&Qv

literal 24564
zcmdqJbx>U0w*}aZI|&ZK-QC^Y3GVJ5+&yR@5S(Da-Ccsay9Wsbcb93t<jea_y*F>B
zYW|s;svC+<C->YwXWLqP?G9Izmq3KWfdc>lh*FZG$^ZZa2I%)#7%0%s*5EyF008J@
zDI%h1X>1GtP{z5$@yT>6qJ^&4ON*7@eR$(IpxB!oQk)f|6-F;6U1l&#)+DDzB-Je!
zfu{bwH+zGy`IhY#`2)HRI)u<$(ey{4FP-vclU%mg5~|%;x7WB=<Bd*d=2VKITQ9Kt
zgFAUjteUg6@+ltCEu+8G$k0eV#?&t~?!Ix7S!LcH(TXt_+gyf<C4|$fH{*<vJUtgZ
zMRffrtrEOF5l&xkgE@zO`S&yktMmGz>YU!nFpisH06X@m(6uxy4b`@x&LA9nCWcEL
z@g3u1t;%Ut@Uz+A-eHr*`9naO+6adQVVTC8&8=ZpJR~X-Bj<L6z;SZHQGVu-wn}L(
zPGFl-z5npOXXRyldM>}9^*9@1;%UD*(^$}fpiou!=4Qsl+FWo0vXMRQ8D-S+IPKC(
zB@!3>2j0ecei0RP=PW(rqs^dBxeQRtR}P$?-v1ew(H;4++^fdwaO)9vz-}6K6&NPb
z$vGRw@eH6`w7^p|{!$M*1Xu@2O=kcA9_959aB9`}5da_rNQnx)ch@^yh1NlnzyzE&
zsB<=F!A$Xh5mPTHzJ;%HgFM8FZhPm2f_@cg#A*~Cfv0`g<|bAO^O2CS4O1xMlICGF
z5bJ$&ZBWDA>Uhs`hQ~!FUsrpY@FZ*7TL9W1JTjUf@PD`p698f;@ORr0ciUv8Ghf`9
z;j#e#?GiM`G{7XoF!>14QDtrLpag(a{BIXES*NM${s&&{|KUB*zm9-4Fap{`{|`?f
z7(fkgV3a-d!JX*8E&Tc@<QS*;|MR0)gWfBa4a3a&?@tVX11)#*KYif;UoL0y5zGT~
zyMJgfm^*#=A&-b1c{vzN6@&75v2$GN3-*~X8YR7dIAklqf1O)aC`A48DZL_^n4d?L
z2CIZJlS0iZ;kuZFcY$9{fVPOLaTTRM*z2We4VJ7?$Yxav^Y77Soxv(*8SJ`}uySkh
zaC2+1a8oPO^gMVj(*>O?WIpDd=&OvA%4Gu!`*s8A#Q!-33rWyTEF{~)ZH4|ll|nZ#
z+7vUceH@%B92^`b9GuiiZgMr?wLEmXx~p89^VMaLVG6*8+(PLbHLonb)a@PRAi4A)
zrJ1E$<%Lr-zG*)+<*g6h@{7f=$I}RX@!-W&<7c=gExdkrThB*BK|`a!d}h5P3!e72
z(3bRCox}*K^(@n*+<rJFOQn-zXoNynh@t1!8F>T^csN#ape!wG{#sxCUu&8{21bZD
za}q*miK3H21rwpP;D#QqC32}<m>3kB%6k@eebGco`xI5bTy<C0i37p^Ijv8A)kn>f
z{=}?@B0e2WKksREUEc|(ZRE<6+(P&mHAU4Jqs0@8$M5t$wjBGQYEt@U>bRc6S*XmH
z6)RUTKnsoX<U%<z+d!3aLIZ-aYC^*kXF2?zLwG$00f<{F6#E$3hUI;F^JR1QPbE$O
zuz+=?+_v$kmNA#F?d@$S98jEccRyp~&COHWu6SLC+!Fka6FV-2dL-9LRPaX9q<frA
zYMH&{us+BOjD~ID5zTCQ=`l9p8s`XD7In*uV9!a&PrDKn&=WMsW#-iEOXM=ap%sb&
zV>I<NGn2HUAWDP-#7R0WS?PL1|L#<lU>W>Gtf$S)gqiumFELg43uiLQJXeCSr<2Wf
zp1z`E)1OQ*!eFx^&Y4sU>;?kbkE&5<1N-8-=)%_2cXxV`=wk(m0<hBT!;leTu+<9$
zkj+!xM5AM$!r#Xf)N*=ir6=bMFM5if-Q(WAKalH#Q_32Hw4gk=P~QDv2%ww*KsxjY
zgCD-PLHRd=2>QIu67(I2@nZ1truFvrUb=7PoZ2zxlVUhhdRK9xHRGbf0(TBalIOpP
z`1pZR%tUya^=e&4)Q6kjhLOU(;F!}ZiKME{wfzi6!6GF&HVehsuPU1A9dmL?$_4y0
z?V1hqsIcf(SM1e}d?%-sf*@9_N=NCq%#m0iTejfV+s+>0tzXtQRDYib52kWQmE{T%
zK^PGMK^Q?R`gFC{Z_axxU=Vy)S2kU-mIR`|lT$78de`e=C+!i_2>%Njc1au=m|gq0
zO8305^)G#l>y=z0u{aYjIWn&fc38|n1ZRE)ITFp37?e;6Shk3AOo%&6C|JREq|_+Y
z9Kj5@gd2~d>5WP!G>fcP=gY#292NfSe3@X?t8=Z~m6DbhcPZ0zcrkD4O>?%BqY=Lv
zec3;*_a3!x$Z?9YR3hiu-uw*o8MW0b^-kwY&dtvFM(#=B<fc%IGO>8L=QTD5uRy^?
ztwQy<(71xJavcN?RR|&4Y|G6=LCB}i#WN=2vYct|7j3SDVuA&3XRaw=4;fV)3NiH1
zI-^*pK?}!f_3C;1$Nhb||Hko|cK_PKE&B(zvWcb_v&r#gxAtLZF@twIqg*Z?eFRX)
zUu$R+@TG<eO|@R|TbufihppK!W7~U<YHvpcI`(avc;wAX0zdx>d;73>VUEY!Y7s}L
z^Wyd)&F^QU+d;?k!jdM2eNthAx*ba1qVZ@vM3||91hvpdLBdY9I;)QOsy=Qs%9{(P
zG<*H9ABMA(6NHe-T;6xzOh*{GtL2#S{{+V0;qmWJMMEHcj7DK4`qz*Dy6oTgK);-p
zy{59S|KCq#4zYiedzKj_zxV9~FB6jz89%=s8y%foKoK1uUmI*#_uGMi0TU)acI!D>
zF-=V_DG?D8aWyse8Z#2B*1Ty}x!%6M;@#a{8CE?=8?IMBcrPa?Cr2l*tjyeCrM{(#
zs0l!YM{IJdvi-fCb=0vbDO3-ScNb%BnY=YVzb@*x9y$TJ!Id|3!H?dqreJZ2)}PDf
zr#MHtRz`-qTI-U&e3@l|hlgh%2P&mFovyq<B#U<a=nkW>U98?wXHTO;fPrBYBKW7~
z2pEEOcX$7AG?h0zJ)|3A&H)9CFgd=E5-}Z!T*tzRvK9U983Fq!Z^A`OlNj_}dEI|*
zZl`hBUq!;6PiKXI?U$T4eFn(Q0=CnDl!XAvA+SoRuK^OzCNb#<fK;e~N0`_+gxFL-
zY$6OHimxhyf;4x9NWoY|C^Ejg;Xo`=(yQkem*62brLU~$47PdQ$UD2b>S17FN^pZ^
zdEFd;A|oYDUiUlwZ6bxio%OcMKhsiE+e>=L+^x3WY#143JAPoTNBJiYXW>BVd3k7Z
zpYS&xF5OLo*9iE=J}cLLKm~xy0Qlema>o7`P=L`HU}1$b;!Y?rVbk+B2mf0|e@Z|9
zHwyj(4cj#Stqe&xSZTqsUpaql1jC}nFi%qq(bdFdD6$G09xc_CBo`seUf9~&o|Nl%
zJm1J?aJN~Q;4bL=sp1NyK%P7EjXp8@AA6s0fJnA)f8p9-_qwRZi$o24(nhO|BDN;9
zZh*3whR<?Q03d#rHFz#3M*`jjW=JvKu0gvyBNK8pXJKHZ(e2wlOt<M{(l1OEC}b|9
ziN*auj=rIkrYzNNIR2EJjD;wkV?AGvFDsla@d+RKT?Ilt?w@+ZN)}{EY~qoSzXJ#>
z4A3mDS9Q#<Vzt41ekOg!q$p6F>Hwe-O<3^*5K-(hEpG<VU2_3or~sJcq4yZrEKxi3
zR_DFzi+<;pt|^ga2Ue1%b?420v+nnTx3#@p%S}rwTS1xKNs8rpeR!8;m(!*7rv}ba
zf^o3kv;HC;pl%+$V%Oc$`PnMzs=p-NS06e~B7=aWLECh{Ol8}P?rd-Q5oYk6pS;$@
zuxz)4QbgKlT<oa&RNY5hPV-L(k)K%a^277_dDqr|Wl2cepQG!L^`ofQMq1^@MDzvj
zW&_}6Faug!dDn`gwdd+5rsNjd4UbyWYtg6}Yk(T=Xa=jg{=k}j`l3!kCK5973aACq
zxe2EaP>S}j0Vj{qczAfLT6OF<9qwnFmG?%P@s5nJAtVwpvaC!@um($Gr0B_S;ckvs
z51zIM<L#2)7fSiizWcMkaF9J)KTy36-T^Tvhs1VmGMX%N)#)k285HoZ4sV`2kk+v~
zM$A_8M)l$dE>$+cRSBBq(}}&T4GW&PZV1BB@`l$|>urh;;!U)bs1VWNAkqnBxWB3F
z%qk_GeVS)z=ld9!D=30~d-J%%H0pvVP^w*Z`)NhN^7Di*ptJY@;EWt=2voZ&S;Vcj
zHcE;E_~}3<yS)+Y#|;EqtHT8aD9D53)zzn`C+*n^{}PJSoM5n;k67`FFo=k=<|uG(
zCu?=4C~$3_SH#ZZf1C^CVugsW)*I?nH~$@K3)@;DMrxHfxoKxqxjI3;XgS&Rfxwol
zB6CrU%|j1IU71L|WDBc8?vnrlrTd%l7FrG=CAQO~rveNH{DohoDfP<kEPTtS0>{Bo
zo=ww^P6{&dNjTDUpGPE4_)pTnO}Lz^B|ZKx%2<g+Y?2#g@`KUuDaM{@g||cJq)vHg
zb<<0qoSHw-$XjR-2QUh6p5>mFQ@eJoYH_Wc2bWh1d&isMP?`B)tnj)2+*?32-i|pu
z%60ah>Yb6QP}inaX4S&F{fImi>n7wI)#`c5I`1RXpTh2wH(`I$-8f^6Ba)XU&aF3^
zcAHmT8XrLddWH6s!T4+!`Lfs`P&zAmPNE>sH*GX?FXLuJEbDsnkRP*cOm3Q}s{BM8
zOT8Q#Ui_JV)_2_?02IA<U>Tjyd9LuzjSdI0DfoLOh65Zi{n1UDzt0>2tjJy{X(~pv
zyfQTjt5x0ncXk2!ClHF0Ar!~Qt4sCPyER6=5r|w|Tp`n(J&(8S*>6x#j5<ltj#rv4
zP~#Q%R$DkU{lWgi*MKE7P;q5zrEaVXwy1~wvTWAC>^MCVPValCD?_WbLDFP-IJ0V=
zw|j0U?#(<Xb*8$s{`5pvFgdJKVID}Xh?_e6EUC|X+2@<JT+{3ORtV~$`Bs0KGk?5Y
zpa#Q2*8^{Ytjk&sy6znf?VP@R1GwSG9{Mn%mIl+9Szhd9tCV>BVh7X2o}VPSN3J%$
zG?f@ohm7gmyFU^W)Aa1*M+W0%;JK~02i7y0Ja+03O<35D-I%IpZ_Ub5p~!Wf3i<;u
zVfi8z)?+Ps_E#@qbCF+8e(HwlYfJOjeK^18xq4DFen(Flmt%p?q3ZtB2_JSW@suR0
zo6IZt1(M7394^Rx8BhFZvD@uE*HPvK(b=k0yiyT;j#7;J%~g}P+cAfWH)TtSbYUja
z+eFju1ocD(wly3LG`K85bV#IhP8PB8T9<|4Wp(aAZ)g9^7vgFB7&LjVHw8gbj2f{i
zP9^q$C=D<$14nkdmB!YLkPr^8rEnFMi2fm)BafdW*ez;hT6ZiYXvrWSOS<0~P6}g$
zg*5AjcC-bB&p&0)<}228JQ7OHNkv?7UpKWFDMGAq<?PrB>T;9&k-S6a^M+~aX5c;a
zMLx<IE_T_79x7DEw8F&?cL^AHjCvy|`s5{r7PH)*2#DgMfuW^CDxQjr0YmW?W0No!
zphTOsFlO6h>_n`_6K_W@-3>p>G55U3{r$D{3f2beP8tt)Muz3}+{FUby3(V<FJ^4k
zB$6`1OrqW#2;LneDQ5;z?mk?6BMJp}sfVvx@~j3IcUOKc@Euis;up#+qpnQ#*DT{N
z?N67)p9XBYl?yl&X;aY@Xf88$n0l43s&djz#638wH;x>0MJj5!Us^qXCXV62Wy7V;
zO-A0NYc$$c-_hGyI@3zGa7Y*GZ@bM@(!K*?PYU@-C((~e=-7)yy@SLF6jW17l+}NL
zZSci5@5p?iiiV%d1<tKO?a5-8q3s5Z0{3__WPdb@*LT_=3k3ww@n~!Exj8y&63UNK
zOH(phQ!XqoXCfgXvDa2td-jo{@$&LEBjNKVm+FN>|3w|TAPm5(mQ-c9x&x~?8Y04B
zyU0ms({^~MD|9i~eZUd<ZYuWCyQ23oplsZ-K`~t2a*|jn_hua#95RsHo9M~o9wO4N
zJSSb$E;#ULkd%zfS@V2Ib4WQ>Q-cqg)FW16?ybRv$bSJl<9Zev_bSATMBZUMEOh)l
z5zR5*2FHk=0FipFeit63>(tg2(~FdODP2kN>=`l4qWlbjF=sC>7IrF)tMBc-F(Oe#
z975)a$j9r-{RPWYX*{TwD1zb8VRLK~h$J2C>XdYZFo??Vka%AMkSK}^Ibpl`-^Ta3
z2xRvLl%5xM_`Mw5L+&iZ<}Fgi?AW{v-M{CjZv}%?%wh(cWMWF~!z%-~&*Yke{w4+Y
zVV~Xq>;U*}n_5Noi9c!a`{w)>WG?18q;Pl$Jf<BUpXcS^;i1j1dt7%V;Q&pM04d5=
zzn8T_=iRaKl;E!E0)-X>;cWgJ{JzlN)z1P5uoM2|ldr={sq~0HD$c5N&Tk2Y;YRZd
z#e_PUAuvC2BCVev<G}v`ONWYz^4{o}p`OVUJSF9HT}XV?w`P}1Rhr!Yk<WgkK!l1I
zH8sEJMUQxY`phuM!)A2FkVn5P3dzghbo`Q@Uam`_n10XBsqA5C*UvPm3JC%gR$FgZ
z<-vFBctpEp_*c}!gC5XMAUb-f-k>zHz~2Tz|NQ$;2TA(8sG#t(k_JlyqjKdWKXr`o
zyOR6iDk2sl|FRVQRD~}_U6CM)$X9Y>jN~R0LAwDy#$&e($ZZQ(fK*FxD`Gmg9H~i~
zG!mt!@c}_l4;EAr?o8xLd<t`PbhNsn`)Q8~CnO|9$K$ep87M``>vcT>hYEL9*3XFl
zr)2EZCBo_C>&%%Iw{L5nT)LUt=Ymc*ZbI3XdF&!t-!1xKon3dy0Pl4?8Ji=?9FYIH
zO+PIdUMQa$aTg1#e}DSf+rGm){-u08_cO6ETeYYOBBT&G1r=9IN`mJ@u#k#cqb=VK
z)0(l!L5Te|KHe4a%fl*-=vz!yb?&i6=i9c*r};C7J&eSoN4CP+)`a&;@o>FEKVY~z
z3ob5xF<5hbL@`1~4OXnwz?P^mO~-%wdO|?TNJ*`L<s{}c+!x=`e%H#lljJ!>Rr1Y!
zsLqg{y1PKwwkIC6XT@?GGkMlXPxqHiDM^VVK}bOWjClJ?^!LSOkDl6ZQc!>$y3`9?
zo3kbAc+DS<?h`aiviN(ny%8bJg2CbyEvEBF(?CYGYz#80%Qt=hBF8-VjgKLr4sMmK
zw_6Ri8mo6#R?&!V=g^pJ;r};K{EIDjzm3f)TFHC2h8=6)7W6O1vXRV-M3_kkd)9Ur
zMmt+0L`-3ahgw?Pp2xl^6EqSKxQ60|EAZ>?&h_<rIouBqz37_M`$f1N-B8XF-1rX<
zQ}AIoOyNsXXK#z`2^tqmlbaWNwWsN)*QBpu6@+^f5D@2{V-qJ6s2X}2JwluMnjZ_*
z-BxX<EMom1E!OgEDGDHfv3bOjM&G?h9;A-8G70W|rq9FTiu#J;j+eA|72Nc^NDLEL
zLC#ph-5B~<Jw(k^rI;_r{tNZ3YNCSa1K79(sBmlU#BV@l>5Ia>uAmf1f(+UPf7}$F
z3;t5-8L;U}7B6U+FP?nmKkyO8)=WlPKtQ0T*$OINvC(N~$UsJBcwSbRh>>w(VP$0{
zNs5v&Qf_H+F~cx_ZC2G=gW+%FyaO>Nl<ShTV+NKy;`aLUgH#+;GF5vG40Z**_Rn{!
z=EJLw+}h{~vI0>H<6i|1Hhzdj+Wffh$X$M9*)^lr%q~TNUZ(ULD;j2bW^}koH_g73
z)DowgzQ5TR<#W~7tH};K6pPN(9mmU{TymaR>#0lmCYo5PcCr^eND_tAGMZv_IeHlx
zsFlZUR^H??{^KOGdOTB;`Gbp>&lMq?ZOwq5ifiNDI|iA?=hKtt`iQ>lZi*{TDqcH|
z&c;#PaT?27yYRQpv`)LWy60iv+Z=5XYoofCmqt7;i*Ht9-;M?ofdLm|;%z^3yv(Fv
zJEM<D$Xcv!rbHAywdA5qn<!)^A6QTtrk|_gr5wE<rY-pfSP=KfTb7KkfY$t=$^T^!
zk{2CPaRV9xDV>+cbPlaww^mXzU{%^*$k{K8m8t!GAi~eoBRB&#FqF+L?aTey17ATw
z!Kz6Mwsm$hD;$u;ueZ1D#uACpKiuBd+O9TVX_IGnKJt*GS+yfqLj4Od>49cnc^7vo
z3@p51ORm+`*))*;oY72K=da=UBZ*JAuAedBD6u3kENWc~m;Luej#xEc=4`n-Yc8^i
zim;E4kL}9J%J4MfvzcH+O4KWmv_y~?7#QI5=~-A<I#f&4%JA5%W;Ag#6yxtT*#Euz
zM*t=WRBlFu{AM|4C;}+P^<8UzO>V_eGK4|8b^sTibuzn3mNi68)>C~<q(9EfF)}lI
zzPu6`5fKqZvv_FaXvNxS!y<o}1y2(H@DR^wbS#*E))0(_>FMh&dRK2rkRFfA010je
zj-abSa`n+A8;se)u^-L9v*2`EL14AX_vs!W@4<8OKIi)@meFnZzU!N>(AQ>8s<WCM
z^7}QFm)7@*z%Q!TNY!F_L;8JK!Cz)}rW}AduTiM$P>T4QG{As7KR<U@^9kdnk)+nR
z1jnk*!m!57E#@>4$*^1wP@c;_0oC2ppUGsNi(~duf`!A7@bs7l;mC^&tgP<GMn^}_
zM$<TK$>r1CA>!d?v!hJ^^os;nU%NQR4*-%s^aW8s_(dXa__bFVY^sTFm(;dqN{&@w
zK9pi<6xc+~wQ@oN?a}6D^~O}5j7Z56HF@?#m2rQPtnl~g>6*6ia4A5%;_1~D8wkMJ
zu&0f5bb|juql#JCFdI1Vh<OxMc)yt=ec1F4U+bO$p{MZxh(+mhj%u#R2z)qIQUB69
zK)JKOrg;FiW+&~wM%-|+b8>K(eaF*v$1B5Q@|*^W04jv9z#lgr7G1UH0u;$#FTq0y
z2kPJj7i_4gf3mw`xuBI*@#bxKOus+*yVDrGAgK_i-iVA&S!|+ZMdnbI0{K<-I2q7>
z?T%$+zShUz0?W(o8cRwJE*tFE>-*lqp}*~M{`c;!kf6J}-w=p@`hEAn&R`Fjn4jNB
zG0ICOOi6K6)eJ7J4A@jKSDRf*PQp<s`Vw95;wcoGuMQV4fbohT5HD7c6WsN1a}u2|
zmsXD{LG>O3|1~)Nv-xLeokedp7wxgwUM=mhQqa}4zE+adXmDuA?AgKas?fh*A=9nl
z*WA_H({I3ZI}n{Ule^bLiPj+j$s<-+SV#&50g;Th9{5>`vQ(?i>L>^r*^`-WYH~7M
zqspi^bTFQRpmc1Nv_}$NMC^}s_tE+<%gwo**e}=Hw#Ua$?>EPQAAlan!W-=F?hZv$
zQ<Hh5VF>hjyqLYN5B+RFq!NaoKN<&mYCe@5%kbWU+uA;(C%WKx_~u;jJvxJ?HE<vm
z9v*|%VX@ieK$twc((}ry0Q7-xx`KtD_Nk+w{@BC5qW^GF_fVA;aco)|&ESZ!7{co=
z6w&~*6$gAT_u>#Qj6NfP*sP2Csw$6}*J@>MZthqvl~t;uWPw`yBzvpCmtK;(b^^K*
zTYYi(?9m=lybLh6{E*}Kd}q#H<N8mr$5>!tZ7or*({!$Yo9*9#@Fz}W0Z9B+h)(%m
z_dP(Iwv!Yc3>-X~4^)gZ!=Ey(ixzzQ#!5qMh=NF`U5{WS&dQjJ?RmBD(xF*nMs*bz
zHNNYtdKrzXlG}}DIEU}gUVp_Tdlva?<YmAWISg)dZfYt*tJY$2oyBZqp?mA>yr+T*
zi|OB`1rcF3-hadq>?M9>qXbJKySlnAlS#oZjDAi~P*BjI+sA(Ws)rSCVxTwD<s&UE
zJ$RM<-3y5zgXv;7yhUgo%;49rRAkE<SV6{)O8f`}K!OcimKBnLl(_VQ2Dk$a4%lK7
z@ht+N1lhk`Sd5{#?SfeasI~-%%%m}z(|Qed`d(j*<^HnaMuZ^T$FxU^@b>j+_TOhw
zPIit|n2WRafT-Z41dBZoqbPB*)^<`<Qqn&s)@jveySW+Ut!j9!2e=3%16W-z*uW7g
zw2wB_5MRLnsyC$q{b?~g4j}FxqyQI5fB{AHk3`@G$l>Zqq$2nGsvD2ooI8h5{yfkI
z&yRP@IyyQSGeQs=rXpwqErbGUmaPq^r~QZp;^)_qs;IqOu2q432B4kl5%rH;mWz;5
zFid`ZbVYTr5g16bgU(krEGj&F@|8Anb8*SwH|z?|O-)Uml-)E0J@qs$h(cp!Wi`6I
zx)K3Vl*dEq1bBF5n(rLf8+{7=gp`H8l$K328{`Hqak-lW2N=PhPXQ+O1Ti8X@eCHl
z{V#(6Nnf8aMOMW8kDjEe1EQRgSCI_BJ=l?-VFcq%dR*TDghKq@|EmQcsE+F0$p-kv
ziiX7Ms4d;qO&6b7|Kfwyz%AeF3;<Vg(9Ifh3nX0AHJyJn9LqpR0N-(6(fOJ#ov)<+
zfI0lhQ$a3QDCe9^?Gi5a{?y&CAPAqTZLl#p!lbF4UIRpv6xVHwtcEBceXiote;Jdc
zs6j@G<)t@uyEj7uwB)>1eQG7Jfmf-bjA&U6bqmO$O!cT*KoPcttoyJ<->o;Y>S?X1
zfiyD_n{D;6ZQsG2?A0n~B0xP3s}O9O*Cua3D2XEP<QsJKJXKzhA$(`}YGLr);+_-0
z)j>`=*L+B<Ef|}7GroORbUv;yixa;o=x;~*{f7&>e+m^59DuVDMKJJC@vMNMbA29w
z&<(t{1shO@Om>FIf<!hLAoF+Wh`Sx;>?l`bQ+yA(ltb_Z)IRXq><O=$-Jk7*-wMN>
zsyVTEFxU}E`7Sb_@xgcRDu1hFIm{+$aeIxIqkC!5?Cc4zh>R377z|h-J?LM-J6+VW
zoG9nw^Vx<5#cOxp3LX;9)s90rH@7aAc<tbxm)o?>uypK)n|7Fd)nWVL_ck=Gg8QOk
zn(O^f2r{Mk0sD8YY6`R(aBwqUK>M&SjeqbO9Rr|<U-tnUyJ(aY2UK<9rYIqe90Pk%
z5l8%3!b3sP9p6x#i*fgbvb+BiL0WsOR~yOcHvl)n{p4ox56|<RvSy&5JgXqNN4haK
zkk%98v<5r{M+if2qX_tcT!o-|9r%s08?~K_+RK+sR40yjk3JWUnO$~WZQGkS4Cdoz
zV?PG1Q!_b7q|ez|6+cb?CAZ1q(9HabRp$kjpPtTz!Ar0dPPo14nt2d$Z1$D$_H0l=
z)3G-9SnV&G5MM8XzHmY5ghx@!1JZ+4DCz2OW#$OYCA`Dd^m2(s^k~9?Yk?&vJ%O4?
ztMgXY@^8ZBYW+-lY50Cvf{{5*Ef2qNGe0o7OdZT(M50AwK=E$|IeF};Hmy6!(<}^9
zhRLnCc=tZGCt{8wu&vQp*G6OS93CeKgAb-pzV9o+v+Zw~cSwp)99Cxf^{)2N=~Cky
z_VzPusf~8BM#&U@qHGPW3u3eeqFe@LF8f@2_ip21`;lYije?`Lhstwf13jw0%A%7D
zpFSF$QpuCz4w8)lW<G%m4)rSQ)S1<qpBIvO#(P|<Ro0x-6J||&q%qv-Wzk;sM2a|?
zyuyq*--PKrZAam5;&A4Z0A>CPMA^4#L114{Kon$N<EhC%={DdT)OP}p=QPNd5fv5P
zLsMYg+uIXm3=ajR8hOxPGQQ}7>_1&!?{2;QWZ%`M`D5mIpsUXySVZ-gwpOz-OeR?H
z>MW8p4>RI*p0G@a1tx%j6vg?ztT-Jmp@QgkI!cFl`QaVgbnuBZTRoVav&%E6isin2
zcxWij)9P);x$lntS#Yv@eaLS=NR&oC!(siY(juCvg+ZT(-Orl>TavWIXNuRZ`1C#i
z6KVC+JwtdiqlZ5=9`VW!qsdMENL4BYxC))~ln8qH$ma!bliJmoQG3Wa!F*~P93Gb&
z&0kHeX>T)Sos_-5T)X-C4O(6@&mSzN7PC~WWjtET3>GBH>-iP5uUpx4!%5N9v=U63
zIg07bNpLnit!>*qWWM~w#9d`Rb+-@OU^6x^Z~VfA;*>d1ic_;N+r4lXG#~b1RO3^$
zT62<XLt6?w>9lyvP<;rz6d^)fVfl3>+mW&FL$ABvW0Rj(i+PBJTJcKt=BavJ@vQG{
z9KVg|JRG<ymVCyAgUqlT0|&*=?ZG_A3^u3jlkw!%^ChV2eZ+=Guae+#8u)=yLSDtJ
zGmtbW`|O(Ucl*dnEXzHIh?iF<N%QgS^4IkB$VVt$-PP00aHyXhvokZBhet;WEF?I|
z7sK#VN82e~_7gnFG$%7!o|)cBxbos8tVFpO$-VF5W55pi5DZ#FWkcMNPBA^`?st~4
z4_<oJ7B8%eR0XU2*L@wn>tTYb!*`n6vk}gGU4;fa4%w**O&-pEP86|GO4!i7IhqOn
zYI{7x#u0h@#$sH92yyF5-T!aI9glWoimw6@=3$zr@=^niN(-N`yZKOSr$KN02)iZQ
z=3R{o<gfD;t+=r}9@(=ySg21@GI*{yLzVnasr3(>E_aQ#_h=caik$tl70kAV^hIme
z4i+TNDt>mJjUx|XcB|A|?*lm7Q!`c9?$CSsrhNtdpA+aagq*pi;Lfp?w}bjsj$>JG
zgufY&{2+2YH$l<%@FC68*v_mFsMyXfJ{-SA?uksw@#lnztx);5HxsagYJdXm>gsBq
zjHzO+qm!N*7AB!?<|Sjc8x8_MDPOsq`(iwpPD+Z4``ixZj$mur$Z9S`K|t;?GRG7H
z#rx&H>8<2ooD2Mbh5x++X`C6K3}BD{n}bx#-n@y4uopm^Svh;7D*f>o`$&DrB7{0!
zKh4(e0<|-m&*AQThX`~hE$uYbNK;)_xk(d^2+7OQuCP4zP>}<iz0f%QF}S|!|FfKB
zmhFF*vyd$kNXPa*Q%-#O3IFQ^<2`K$FTB~-3<2jtmiaeKWi)}x+1pgB_rlUP>1yJ#
zCXw#ak+}uE;Z()`W#(uV;{ggGFLENLOUg`{Lv<4GE6X9F3kL{ys#iPc8@$z{D^THg
zE@=RZ%$T2W&^I*3uGcwtjsvJbRO@){ud{ZyinW{jPq;pg7GW3)gI2{K?tF$yo9?f6
z>%_tPx|9SFARKxEu|A-L{v%gF)O;=1WHSsx7eGlV=PhD>e*Vek)|P4tDL9Ku*T~37
z#qGz?)rafxZy{iCS}qhFTj;!X^T%;XP_fdVVTv3{MK%#n9q>9a&XrSu6BRCov=Jt5
z^4!6PU~#g~q$H-`x<Fo)0nFwifaQo)6saA%N6h0Jp*dZ`niljSo(|WvTUA@`GNGIz
zr}m_zq~3<*m^s7uSM^r)^1~25uHG>P=CV9f-DIWI)LFM+W@96M&}rR7UP%~uXo{@?
znMipbWi801&UVOh`0)tXlTlk$+|t{I;}-OI*4=|CYGq|56~mi47WxtpO<3KeBo=q#
zLf*9NT?TE&o_w$r(zC-qX{j*!g{$U@B<bYA%Z&W1Bd9kgLhh7Gx|nf`Z7=ZJPZfzS
zNAyE>B%^zQ@6J+}j_Tlbf=9u&3O|DnEhL?+Kq{*#S>n!fhRU6zH_NZ0!^VRnM7rYu
zbkci%0-Mpt|AoQD{1!ai)&O^Zc`#nm2yXaDd1?%zpKh51T5<jXIa#TYpziF5MQ9Ev
z&uAE+AYS|&UAD8dyyGS!$`(_~`OzToLj1t;xjV{cQR4vm4*lv1#eZjYAadrVLkjR|
z4g7Kew$cG#^W?{c^EdjG>r>Rlm~#Nv?z}HRVc?`R#zX?f80D0|I!F}YQ2~!_duBwx
zh;D=^B`r(!;Qi9PgcIlyV;nG1%ai8O>2tavM0b3kd61z^hps#d?Ts}paX)rpYwg$m
znex7xQpfOzF!goqmVxop*>eG^<xjiY<Bk8~ZmSh6C*vf@#QLmE!u``uE@n>aCbaI8
zLilbhB$Y^01XTvtD&)FC2vxqEx3`3r_1c>fKk)A?Zn2-7cdSJyB{-<x<s+LK+D#6H
zee2^F;Dje)r5uSh5r^~ZKofWB&aps5w;fF;x55b@`jEiLD=lev+a>a5y8xRMz<i!=
z6RSK}&p4m3tCAwW9fmujeS*O<=&;ggtt%JhGwk$IzcSRPw0J=?jl_FX0|+D824s$n
z7j&4Ui@{b!zzP$VJTi0W|F3*AK|<xHQ+eTlp;tEK+{_*FAFw7!2M0oN!~s&QHm~rw
zpuqeAlwgpstF+!k81`#L?K!JP4zfC_Goxg0pd*})zw@6p;R|_g8=U*x+m)RPj^GUL
zK*YlNOx_~$$c!%d)kcErhN`n38c;S67~h5**NZp!@QxjPfI7*U|E|3j2|4?#>GwBY
zX7|!~p+xwqDs&LW&#sO*^xS8bHVr>GUO2t2`(!%YY`rt}Pg?yJJ6%?B?VF3_(!3n~
z;l%86PLN|37dEKWijM7u=O0~ZsQZ&KOshrc>9Hr~SAO;m^)Ci-;Vem6<+u^M-H6fv
zGe%?DcWv5EKYY$*{?hd+de|125d4vXXp<ro%GytI*kXtS@12^O$GQX|15TsKnceW|
zXhbfB4Y&7?lnyz`0iJHmqz1%C(}^yX8|}x>9sA}_;4h<em`ZU495({nX?A46I%>Cz
zqfe`AMVbiMYd<1BJbXX--*jfGi}l+d{Z+mySaO6@(uh&BlZ*3_lS{MAyl9pTzl>zA
zHS|Afk4LM0JJg<gR<Nw868hpu%@IRz41LzPdZ3!X+pS})>pN4@a?EZy;#z(;*($Rv
zFAqyBV3@+IF+#-Cl9(9twMC!&(&(7%|3sR<a~e9D_MFu~fP&l)dj$a!0tRTm5i&ZO
zqLPx72?}Dz%kzV$kT@JP+CWg_R1$*_jRxFTHB%t?aG*@e6=SiEI7xGCE(g<Q&oFe`
zGrnj>bDP~`*Vm&FeV4t9VLVI))q|n}ec6sD?Se1cQUwc_VMd%bxvg9U^y9bPovY4?
zAyXul*mbf8>p>hh3qBsBq4-ltjTsmncf0BtbZ-5>Y*ZDQpBRk<yq-&g!Z7KoLk?bI
z>@LRBdAPg76!smJ-B;}V9n-kJs`FzPC#mX5t#(;Ateo6;>pq2kr1#b0uDuvkBgZ(o
zALFm($i8?1vlDRowJZ@A@p!_GZ_DE{F}Ojd7RiR5N|wgp-BJ*A(V;!JD5(p?UXHrz
zpBt-oZxL;4bBd=N#kc-S%1P_Rtqdy+VPYF3-9Q#S7vkhC-9Bm|$+NYfudl+Q9KUEc
zl~ZvOwdxCBYo5V%y?MOfu6F)jCvTXJ0jb{c`O~!s$^F241r;ugri*&|yY7v(#(F5N
zz8|)>KY2Z8z3c`)nh85~R4w2Lw0z~^R;u02Y74h!kqW2PEL)p=7cYT@=bFYc`!PlO
zy<Vo8LIMcAu~Guf+V%J?-?Es*&>Bbo+fMx$)_Jtt@Njvwe1lPY0M2Nf<PNd=Cg<DW
zyq^sBHhhgh6^KtZB?C1{-wD@LA_`ExYA;Hs-0gq-`1DRbdi&_*`_!q^ABGNPWAh{A
z**;?w#y=5$qsBj}LjT9qui|xCU5V^e^eoC)MUD|nxRArFtgJ*fZS2IDKizdoLL^Xf
zcoU}Ah4ov6)Q;-@<3PW$;~TYR1>lnw`hY4^tO>P=>sjG!L>2Sz^*|`plj_uX8GU}3
z+)(kiJw^)=va*&k=4RzAW2I_WEKypNtDHWFNJ@SbYJ)=vD&hgIokpQ%Rx=K(yYcz6
zy^5<qqEb*hihHMj==aja)Ujv;5^A=jVMdX~7y<LDs)9m!8`5TBF|V&cnx)_5Fe~n>
z#529UC-L>QU@nT}Lu?j+w)!I5W?Fpq*mH7$JcJ7mq{fL{>m>Zck%APyj8%%eAW_rr
zd%Rck2a#nL%q;GNB`}bKki1svg5{b*K7)gU(skNQbHBT=uY3-{>whHhf;9ducBNDy
zq@a)}-hi<CjuYrUQ|}K^k=4iWq_})#?DLnpx{?N9+Lx-Y27LdsnkXR$M+0MSC!Kd^
zZ*C$aKg9<lBO})IjEtmNry~trJXlF7sU1ma>7R2-R~ojUmohTu7w)aC+{O4MWh6js
z>=as9*ziaDl9P$-?h<mj)Nk`j8XC5I7$D@xcZ`ehhmJP^no)~>=dpQQ*T`5QNf&<p
z_KkE0q^htljmN4~{tYj+Fi%fU_m=Wxk_zhdnA9{*AWu1}J=evs2>;pM&IU03cCojo
zZwu%lAVTzwia=Fy1(AeHNNijj5d#{W<7Cu67<#<Z)bw=PM^WPRuQcROs=9{xd3jV5
zta7UA9vbpTFt42NoV=VyWFu%!LukblVe2=q>(9_#1<A?XAa57;DD1|@R@Z1boqtsJ
z_u*dY4NzZW@yCDkHN+s3o7M#57@E(WsXbx8s%L;bc3ECSKKcLaNFWQq?Cc3_T>Cw=
zP}M~lkwYc@`Pgrx+X%-$@PC)d)rz0}JU1pNdS>xk$R7)(2A+Rj!Tnn5lqj_O<14(Y
zfZm&a=oE(Ch@8e{TX#$i<)i9n_b<~Y*44cGk62Bs)GGEF#Nftfz9{n#uv_9lCe#fF
zPB3hb5ZVD*@Heo%wD(YN?C!$?#W!LXpeB+QApZDIAr#R2O(|3lH&x&~hjWXc`^{;V
zpBD1Akc}aN$4t%o!wa{!`6F|hOA@=6nD2x_IP!a+J#NQ{!?KW!`%mkBq{{D;83!(w
zEtzXYG9^m*Qm^r<p4Sm?^dDS3pHB7DuDZA7`L!%tO1nSuVS=3t{phH#5>%q+Ha{4V
zd)MX!yrHXzm+zMbxm^T2tBR5wPz&PpjtJAmN{NuKD2v%FIz+1!z2v{--34HceZqW4
z$>-glF{msp`zd#*%q3L_AA58Nqc-?`(biOZ$FAmvek4*1q^@pr*g;xMnSWmmGH30>
zzfiaBC-(#YP}x(SGR(oRtRHu^H<{Xgl$U+VA<77>xo+cwc2)OUDVzU%;Cy|R;bUHZ
zoEfr6!HzYq;Wc%6dp^d}fS`SU+rUmUKyH7_W_X7eVh(bvnOOhSR4bjC2RE%)@wqr<
z8zqrCgDNsuNnhz9vUnm=?OKaCf8oC_N$F35fiuO|skW6?XN8mOaFvM<tw(xE%g-j1
ze^lr;-S5Iz{yl)!a6znWnqg7x$xpX(UKt0jzXpS6yVTdG?UdraxxYw8BuA7`_cBqi
zUcK+7ez8n;h1EGHQr~wzR5a{$6y=RTz#Lul8ir^F7P;^DNROU#0uttAax5Gis7MbL
zM(@Aj)9MY#bJ+;zGKshMfNA3uFD2Ty(QNFgNvW3gkyUk>9?v&N1(+V9X74aczY8K6
zx>s6Z?a9<K#lsW&2|eGZ1u3JYG)(%+gh3UBzzH4?x0tYnnSpbxxnbitTXmP>jh)=~
z7D&$!Kt@4;^eT=p$!RI~7`3eYwT`Tf{B_LjjF}U~sx&Y6Xc&Eg|7HS34p1g2e0PIW
z^2KWDZi}}eiN!cRP?g|N`;fCI*%S4H+1<u7or`xfU0V}N9F$a+25aQV=d52{q9Rff
z-@Ue5Pvo;w;lu2fsvQLvJQo*R0)N8uQ_xtI3TZID#+C%))17SgV?LbOe1PUWG2gil
zDt*#$|6BMv*iSBhqPyS|I%s2_j?$#X#eLY${pl($ihMd8-F}v>?tJKb@~HqcWcG>M
zYBSFDs!RkKTi{wthWu>5mS<zY={;37{eUw(&M_5bYJy`t5D@sIycfB+cOZB)%|;!v
zEQ4j0O>_e24FBbjnimhWD_Rgsb=JFbpmC*OkN7I}b>#NqMCr=d6Ufa#A_kgxb340Z
z8X_Vgv(+B~|8CL50w^00s<{aw4R?F=r1M`e97<;glx9f!CdofgrinW@ou4ab?tO&E
zp~2fd<a*Rwcs?+5{11gl9GHx?#>k%C%+|6tyWGV<)@(c3falJX>$0w0hu&7`S9NnC
zSg(W{i@Hhe3cK3twmQ!-;I2kF1U(qF+Ra<2NH9bZ|3xQdRT&C=W)*AmjF5C5Kx8xk
zLl%0#qBR^ruTdS}8QKLzV@P#3##f^MwSNI>f8<~RYK@Zl3yY(lcLcoZbQz5EqD)3&
z>eprJ+6_<VqWK(N3LKWmiGiNf{U?>*SK=)D`O7m~JY)05oFQH1eT_Cqa&xUY7|!Nu
zhjr#PyTCQLAN5^r?w`a@Jk+6=N!PThoFbgp*{!}Rb2*~epWxLwK40ujeG1ae%ygV_
zAWJFu?B``>dD?HkTzUWDLI1>l118$=4R5h3Tqy$RJSJgHOiTtkyzi>FR$JU`GkHCx
zqVL?=1tr-#i6km11mT}>Sc$av-M<22-@$aYA)hkCb*i;M9h7v4aYUZUhl48~yz24q
z-;s&`SNcwSwQ0E{g7Qc)YuP2g;}0t~b!67ibd|FCa~$@o3>!BrJOwf8d27HA-{x1E
zceCyaE-Ijt5OmwfnKc>G5>2SAu=-sNTMmz}jGZyAKZjY6Bf!REpNw}f*E_D>-VisK
zk~}*^$j|<`NIk35)_y=<JT=&=9#n%)SR{*9yRCRjYumqfbRf@Dm+50JuqG+6(xd?@
zTRJ(w!o$O<WzRdiyK`ycWlyiK?I=*f+oNjZ<KrJpa!TH992{69`62^L@vO!aMKL~p
zpcssd*&RSutnSWv!1n(dnUdlD!ZXDOkbi>QP?+=1LLV3k-2&j6#p?PEN}0ALNe%I}
zV0R{!1`SYnpv=+(MAX2N(Ge+!p-vZI93C(Pow$qiu{+(-sJz&z(h%?|ui7@htD;6r
z!u(o8POH?QRr-X_2gCgz<0*pV{nM<YBcBq882AH!S2kIKy0AUHy+!C`Z<F7`0)asC
z?H48exmZ;YHaP^<Dl}#=?PX<0x}c2mDu2tD9u+vZjDXkH`y6IhlnN{0j@KC@=sznV
z#T-D2sb&wJES@i3d#{uE(Z=KMM)KTmIs}j#7KarGKpH3Y8-q@kaNS+iTJl;2)_(%T
z>OnBZkcxj}0e-C@gN=~%&np1VNI4PuB6q&f$KE4>)shc}%2p5moYdUbq3~}vaSNSV
zOPgs~qAR>%u=E_(DE?;xfI!s?QsZ~=13DLfPB@3NNHfPn_NaemPjUPOH8hg(FC2zQ
zQC~I0D(>!$c4ua<Wf6-M#80BcyJ=9LG%}}MuTbrEUZo{^bjz#3{wfr}%-kV&B_Inf
zCl1To3^w7!C8%Q7DN4YcYJiGe=kTucgT;^gx~e1~@qow+Gqbc%95$8UTpivn*c<u8
z?r^Guwn#v>C#ez>lwcxNTGWS1;z1ZU=AEv1Qsx<L;I<F3pTe^n9huBN@t46A@DXp>
z=ZtiMAFB6WY!06aAp|5zx7f50KnhO(jla>$A1nmq4V^r|-!zaKsL>!ic@Kk3z<>Dm
zwfER+1e(RE%pnE4*iAYj9S*mPYFq7q3=i4e)_zKrr2VExHjOp_{xmM&vj$NBD>&Z{
zXi)(Bh5!YchQ1{j_z0;8ZJ}m!AHaMkoH?QeU|=4~F1>*;QIA|7%!$><`^HaJ{TUeB
z6FBFtOps#s!w4~JGKG}06hI3F++$^UXxl$lWkw`^_+@HI-o#=xQ&=;r%bOVXZ|Eg#
zf5j>5?cD>fU?FP_4kkp{)xaRjadIZ~wT~|?C1rVSOB|3g)k*p``R-mzOUp#8XNUkK
zYAyIVqF>1}fAiJkJJQ?gh%XG^W@v%|3Q}N10@1Rzgwq%+{F##Q0}#T@@e@I`_AE1{
z3$r7h4f<yG-YQm7CvnbPe8BXZ&z5L;I{nI!SR$XvpPmNp5lO$F#*lKep8)nG^2HIX
zw6DEpDZiijkq$`8CxAM<55_(|KGk~=|KUI&s013DMg5IQd^H3K-#DzbdQ9iv&V<(1
zvND%<oEp?D3ahA0yNMl;T!O?I0iQoBpChZw!Wra?MB(s19#$Dk^moHE*Ja&|&nnp%
zV&9pph8ApNH{baB>-Cyj#gcxHZvu=DaKk)F8D(>&j0x(4OA>~|w2i-5%MrIoxW|QH
zA`ZKce>^l1%7p$%GK`BY?H!XwN~<gx_^n9VFh*E(Xn_1BXCgI9$3Ra7cpRsM&>&Tv
zjg0*(R)5G#b}Ad^6UN#us?k6)tb{~=&ZRV4VvN{dWcINJ#8LD#-7vbo7CMC_K(k3v
zkTxnZ=Pm3=CP<U7uO`0@s*hh~b7Cs*lH*`O%BF40CbO6n7V|@TN!k^X@m4+xu*zaf
z2?+h_-t7YRZ?e?@;~Iu{%4qCeW~`k))oI=Dstt0<Qc$veU^Y;&Js9IkYXBzZA5}Wy
zuii?cbk?WeTn@PGHh{}!h|HN2E^D<Dnc{oGFs6}GM-AX0;%}c+$bif0%k2|R6Pyop
z#w3%XC@@q{ka(PkOPwsLF?=xM?BQ!E>$}WuYvUWt|4-+6f!!#7<IeFr@Fmdvoi7t3
zL0MT{ExR~BA5gLXK}1IOrJJ@~qjn)DI(n4E!{aW>3BJ4!mD}yt{bO%UL52bKVpTSu
z=3^yyOvfM$@YmIL_VWdCbnmbUh6}GC{>Jp+K!_M=O5CyhXIN4ykcpv-npB2TX~sGt
z)R2)%Ieq(bwpO4XvMkq5Hcfplb)M5ih7BoHpLS@WsFC)uw9X-<=X8^cDlAGbR*^XO
zT_|9Ij_{zzT*d?dz<=}ly#S1{LIinj1v;!?oBc#H45i`GZ62~u4eP!S>-Sd&QhgAA
zrz3!9x5S;jJz#5yzw3zgzZu$i(kODI<KoWSZZe#inOPGQ`^F>0NkQs;DXGDg=5MVI
zKe|rel8C26BcfJgZRU09qMqJ52GojXseLHmvPmQ)CKi^ElZ)0=Mfs1_C_$Z2ur>JK
zivfP;$1Dr0poRuFo;b<Nok1OW`D2hcDnk#Au72TF;Dv&MV#4Hq@632sZ@GLNy{@g#
zlH3ZJg^F$J-;WG0d6*KHdE(Pxa4T{!SGN9q)=zMdtV`6sdVdi{(*^d28vtoIR6!$O
zF00OCV`IaK4EpU=<y)Qi|Ad)F|KegR-kST4y1F_Zma>4wdnH_a(hB_!euIt9fO$bF
z@XlXInmM<_gz$$O)G(DO-J&x~K-Q%0AMdcRf^YBc&}{-HL7FO#ky;oYo)#8WN(_d-
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

diff --git a/src/main/resources/templates/notification_structures.html b/src/main/resources/templates/notification_structures.html
index 3b6d4cc3..f49ed983 100644
--- a/src/main/resources/templates/notification_structures.html
+++ b/src/main/resources/templates/notification_structures.html
@@ -30,29 +30,14 @@
             <tr th:if="${numberCreated > 0}">
                 <td style="padding-left: 0px;">Number of created structures: </td>
                 <td th:text="${numberCreated}"/>
-                <td>that need APPROVE, CANCEL, REJECT</td>
             </tr>
             <tr th:if="${numberUpdated > 0}">
                 <td style="padding-left: 0px;">Number of updated structures: </td>
                 <td th:text="${numberUpdated}"/>
-                <td>that need APPROVE, CANCEL, REJECT</td>
             </tr>
             <tr th:if="${numberDeleted > 0}">
                 <td style="padding-left: 0px;">Number of deleted structures: </td>
                 <td th:text="${numberDeleted}"/>
-                <td>that need APPROVE, CANCEL, REJECT</td>
-            </tr>
-            <tr th:if="${numberApproved > 0}">
-                <td style="padding-left: 0px;">Number of approved structures: </td>
-                <td th:text="${numberApproved}"/>
-            </tr>
-            <tr th:if="${numberCancelled > 0}">
-                <td style="padding-left: 0px;">Number of cancelled structures: </td>
-                <td th:text="${numberCancelled}"/>
-            </tr>
-            <tr th:if="${numberRejected > 0}">
-                <td style="padding-left: 0px;">Number of rejected structures: </td>
-                <td th:text="${numberRejected}"/>
             </tr>
         </table>
         <br/>
@@ -67,7 +52,6 @@
                     <tr>
                         <th>Type</th>
                         <th>Create Update Delete</th>
-                        <th>Approve Cancel Reject</th>
 
                         <th>Old</th>
                         <th/>
@@ -81,7 +65,6 @@
                     <tr th:each="row: ${created}">
                         <td th:text="${row.getType()}"/>
                         <td th:text="${row.getStructureCommandCUD()}"/>
-                        <td th:text="${row.getStructureCommandACR()}"/>
 
                         <td style="font-weight: bold;">
                           <div>
@@ -118,7 +101,6 @@
                     <tr>
                         <th>Type</th>
                         <th>Create Update Delete</th>
-                        <th>Approve Cancel Reject</th>
 
                         <th>Old</th>
                         <th/>
@@ -132,7 +114,6 @@
                     <tr th:each="row: ${updated}">
                         <td th:text="${row.getType()}"/>
                         <td th:text="${row.getStructureCommandCUD()}"/>
-                        <td th:text="${row.getStructureCommandACR()}"/>
 
                         <td style="font-weight: bold;">
                           <div>
@@ -169,7 +150,6 @@
                     <tr>
                         <th>Type</th>
                         <th>Create Update Delete</th>
-                        <th>Approve Cancel Reject</th>
 
                         <th>Old</th>
                         <th/>
@@ -183,160 +163,6 @@
                     <tr th:each="row: ${deleted}">
                         <td th:text="${row.getType()}"/>
                         <td th:text="${row.getStructureCommandCUD()}"/>
-                        <td th:text="${row.getStructureCommandACR()}"/>
-
-                        <td style="font-weight: bold;">
-                          <div>
-                            <div th:text=${row.getOldMnemonic()}></div>
-                            <div th:text=${row.getOldMnemonicpath()}></div>
-                            <div th:text=${row.getOldDescription()}></div>
-                          </div>
-                        </td>
-                        <td style="text-align: center; white-space: nowrap;" th:text="' -> '"/>
-                        <td style="font-weight: bold;">
-                          <div>
-                            <div th:text=${row.getNewMnemonic()}></div>
-                            <div th:text=${row.getNewMnemonicpath()}></div>
-                            <div th:text=${row.getNewDescription()}></div>
-                          </div>
-                        </td>
-
-                        <td th:text="${#dates.format(row.getWhen(), 'yyyy.MM.dd HH:mm')}"/>
-                        <td th:text="${row.getWho()}"/>
-                    </tr>
-                </tbody>
-            </table>
-            <br/>
-            <hr>
-        </div>
-
-        <div th:if="${numberApproved > 0}">
-            <div style="padding-bottom: 10px;">
-                <h3>Approved</h3>
-            </div>
-
-            <table style="padding-bottom: 10px; width: 90%">
-                <thead>
-                    <tr>
-                        <th>Type</th>
-                        <th>Create Update Delete</th>
-                        <th>Approve Cancel Reject</th>
-
-                        <th>Old</th>
-                        <th/>
-                        <th>New</th>
-
-                        <th>When</th>
-                        <th>Who</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr th:each="row: ${approved}">
-                        <td th:text="${row.getType()}"/>
-                        <td th:text="${row.getStructureCommandCUD()}"/>
-                        <td th:text="${row.getStructureCommandACR()}"/>
-
-                        <td style="font-weight: bold;">
-                          <div>
-                            <div th:text=${row.getOldMnemonic()}></div>
-                            <div th:text=${row.getOldMnemonicpath()}></div>
-                            <div th:text=${row.getOldDescription()}></div>
-                          </div>
-                        </td>
-                        <td style="text-align: center; white-space: nowrap;" th:text="' -> '"/>
-                        <td style="font-weight: bold;">
-                          <div>
-                            <div th:text=${row.getNewMnemonic()}></div>
-                            <div th:text=${row.getNewMnemonicpath()}></div>
-                            <div th:text=${row.getNewDescription()}></div>
-                          </div>
-                        </td>
-
-                        <td th:text="${#dates.format(row.getWhen(), 'yyyy.MM.dd HH:mm')}"/>
-                        <td th:text="${row.getWho()}"/>
-                    </tr>
-                </tbody>
-            </table>
-            <br/>
-            <hr>
-        </div>
-
-        <div th:if="${numberCancelled > 0}">
-            <div style="padding-bottom: 10px;">
-                <h3>Cancelled</h3>
-            </div>
-
-            <table style="padding-bottom: 10px; width: 90%">
-                <thead>
-                    <tr>
-                        <th>Type</th>
-                        <th>Create Update Delete</th>
-                        <th>Approve Cancel Reject</th>
-
-                        <th>Old</th>
-                        <th/>
-                        <th>New</th>
-
-                        <th>When</th>
-                        <th>Who</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr th:each="row: ${cancelled}">
-                        <td th:text="${row.getType()}"/>
-                        <td th:text="${row.getStructureCommandCUD()}"/>
-                        <td th:text="${row.getStructureCommandACR()}"/>
-
-                        <td style="font-weight: bold;">
-                          <div>
-                            <div th:text=${row.getOldMnemonic()}></div>
-                            <div th:text=${row.getOldMnemonicpath()}></div>
-                            <div th:text=${row.getOldDescription()}></div>
-                          </div>
-                        </td>
-                        <td style="text-align: center; white-space: nowrap;" th:text="' -> '"/>
-                        <td style="font-weight: bold;">
-                          <div>
-                            <div th:text=${row.getNewMnemonic()}></div>
-                            <div th:text=${row.getNewMnemonicpath()}></div>
-                            <div th:text=${row.getNewDescription()}></div>
-                          </div>
-                        </td>
-
-                        <td th:text="${#dates.format(row.getWhen(), 'yyyy.MM.dd HH:mm')}"/>
-                        <td th:text="${row.getWho()}"/>
-                    </tr>
-                </tbody>
-            </table>
-            <br/>
-            <hr>
-        </div>
-
-        <div th:if="${numberRejected > 0}">
-            <div style="padding-bottom: 10px;">
-                <h3>Rejected</h3>
-            </div>
-
-            <table style="padding-bottom: 10px; width: 90%">
-                <thead>
-                    <tr>
-                        <th>Type</th>
-                        <th>Create Update Delete</th>
-                        <th>Approve Cancel Reject</th>
-
-                        <th>Old</th>
-                        <th/>
-                        <th>New</th>
-
-                        <th>When</th>
-                        <th>Who</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr th:each="row: ${rejected}">
-                        <td th:text="${row.getType()}"/>
-                        <td th:text="${row.getStructureCommandCUD()}"/>
-                        <td th:text="${row.getStructureCommandACR()}"/>
 
                         <td style="font-weight: bold;">
                           <div>
diff --git a/src/test/java/org/openepics/names/docker/ConvertIT.java b/src/test/java/org/openepics/names/docker/ConvertIT.java
index 6da5404b..ab41f9c1 100644
--- a/src/test/java/org/openepics/names/docker/ConvertIT.java
+++ b/src/test/java/org/openepics/names/docker/ConvertIT.java
@@ -85,48 +85,48 @@ class ConvertIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         NameElementCommandCreate[] nameElementCommandsCreate = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010PRL", null, "01 Phase Reference Line"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010",    null, "RFQ-010"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "N1U1",   null, "Power switch board 01. Electrical power cabinets")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystem010 = approvedStructureElements[1].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystem010 = structureElements[1].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "EMR", null, "Electromagnetic Resonators")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineEMR, null, null, "Control")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "FS",  null, "Flow Switch"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "RFA", null, "RF Antenna"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "TT",  null, "Temperature Transmitter")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceTypeFS = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceTypeFS = structureElements[0].getUuid();
 
         nameElementCommandsCreate = new NameElementCommandCreate[] {
                 new NameElementCommandCreate(subsystem010, deviceTypeFS, "001", "description"),
diff --git a/src/test/java/org/openepics/names/docker/ITUtilNames.java b/src/test/java/org/openepics/names/docker/ITUtilNames.java
index 156a960a..fa427dc5 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilNames.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilNames.java
@@ -524,18 +524,18 @@ public class ITUtilNames {
      * @see ITUtilNames#assertCreate(AuthorizationChoice, String, int)
      */
     public static NameElement assertCreate(NameElementCommandCreate nameElementCommand) {
-        NameElement[] createdNameElements = assertCreate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), HttpURLConnection.HTTP_CREATED);
-        return createdNameElements != null
-                ? createdNameElements[0]
+        NameElement[] nameElements = assertCreate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), HttpURLConnection.HTTP_CREATED);
+        return nameElements != null
+                ? nameElements[0]
                 : null;
     }
     /**
      * @see ITUtilNames#assertCreate(AuthorizationChoice, String, int)
      */
     public static NameElement assertCreate(NameElementCommandCreate nameElementCommand, int expectedResponseCode) {
-        NameElement[] createdNameElements = assertCreate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), expectedResponseCode);
-        return createdNameElements != null
-                ? createdNameElements[0]
+        NameElement[] nameElements = assertCreate(AuthorizationChoice.NONE, object2Json(new NameElementCommandCreate[] {nameElementCommand}), expectedResponseCode);
+        return nameElements != null
+                ? nameElements[0]
                 : null;
     }
     /**
@@ -559,7 +559,7 @@ public class ITUtilNames {
      * @return created name element
      */
     public static NameElement[] assertCreate(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        NameElement[] createdNameElements = null;
+        NameElement[] nameElements = null;
 
         try {
             String[] response = null;
@@ -568,9 +568,9 @@ public class ITUtilNames {
             ITUtil.assertResponseLength2Code(response, expectedResponseCode);
 
             if (HttpURLConnection.HTTP_CREATED == expectedResponseCode) {
-                createdNameElements = mapper.readValue(response[1], NameElement[].class);
+                nameElements = mapper.readValue(response[1], NameElement[].class);
 
-                for (NameElement createdNameElement : createdNameElements) {
+                for (NameElement createdNameElement : nameElements) {
                     assertNotNull(createdNameElement.getUuid());
                     assertEquals(Boolean.TRUE, createdNameElement.isLatest());
                     assertEquals(Boolean.FALSE, createdNameElement.isDeleted());
@@ -588,7 +588,7 @@ public class ITUtilNames {
             fail();
         }
 
-        return createdNameElements;
+        return nameElements;
     }
 
     // ----------------------------------------------------------------------------------------------------
@@ -597,18 +597,18 @@ public class ITUtilNames {
      * @see ITUtilNames#assertUpdate(AuthorizationChoice, String, int)
      */
     public static NameElement assertUpdate(NameElementCommandUpdate nameElementCommand) {
-        NameElement[] updatedNameElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new NameElementCommandUpdate[] {nameElementCommand}), HttpURLConnection.HTTP_OK);
-        return updatedNameElements != null
-                ? updatedNameElements[0]
+        NameElement[] nameElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new NameElementCommandUpdate[] {nameElementCommand}), HttpURLConnection.HTTP_OK);
+        return nameElements != null
+                ? nameElements[0]
                 : null;
     }
     /**
      * @see ITUtilNames#assertUpdate(AuthorizationChoice, String, int)
      */
     public static NameElement assertUpdate(NameElementCommandUpdate nameElementCommand, int expectedResponseCode) {
-        NameElement[] updatedNameElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new NameElementCommandUpdate[] {nameElementCommand}), expectedResponseCode);
-        return updatedNameElements != null
-                ? updatedNameElements[0]
+        NameElement[] nameElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new NameElementCommandUpdate[] {nameElementCommand}), expectedResponseCode);
+        return nameElements != null
+                ? nameElements[0]
                 : null;
     }
     /**
@@ -626,7 +626,7 @@ public class ITUtilNames {
      * @return updated name element
      */
     public static NameElement[] assertUpdate(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        NameElement[] updatedNameElements = null;
+        NameElement[] nameElements = null;
 
         try {
             String[] response = null;
@@ -635,9 +635,9 @@ public class ITUtilNames {
             ITUtil.assertResponseLength2Code(response, expectedResponseCode);
 
             if (HttpURLConnection.HTTP_OK == expectedResponseCode) {
-                updatedNameElements = mapper.readValue(response[1], NameElement[].class);
+                nameElements = mapper.readValue(response[1], NameElement[].class);
 
-                for (NameElement updatedNameElement : updatedNameElements) {
+                for (NameElement updatedNameElement : nameElements) {
                     assertNotNull(updatedNameElement.getUuid());
                     assertEquals(Boolean.TRUE, updatedNameElement.isLatest());
                     assertEquals(Boolean.FALSE, updatedNameElement.isDeleted());
@@ -652,7 +652,7 @@ public class ITUtilNames {
             fail();
         }
 
-        return updatedNameElements;
+        return nameElements;
     }
 
     // ----------------------------------------------------------------------------------------------------
diff --git a/src/test/java/org/openepics/names/docker/ITUtilStructures.java b/src/test/java/org/openepics/names/docker/ITUtilStructures.java
index 46dd6922..5c3fc955 100644
--- a/src/test/java/org/openepics/names/docker/ITUtilStructures.java
+++ b/src/test/java/org/openepics/names/docker/ITUtilStructures.java
@@ -44,7 +44,6 @@ import org.openepics.names.rest.beans.response.ResponseBoolean;
 import org.openepics.names.rest.beans.response.ResponseBooleanList;
 import org.openepics.names.rest.beans.response.ResponsePageStructureElements;
 import org.openepics.names.util.StructureCommand;
-import org.openepics.names.util.StructureElementUtil;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -206,7 +205,6 @@ public class ITUtilStructures {
      * @return response page structure elements
      */
     public static ResponsePageStructureElements assertFind(String queryString, int expectedResponseCode) {
-        // maximum number of elements will be two (PENDING, APPROVED) for given uuid
         try {
             String[] response = null;
             ResponsePageStructureElements responsePageStructureElements = null;
@@ -517,15 +515,6 @@ public class ITUtilStructures {
             case DELETE:
                 validatePath = "/validateDelete";
                 break;
-            case APPROVE:
-                validatePath = "/validateApprove";
-                break;
-            case CANCEL:
-                validatePath = "/validateCancel";
-                break;
-            case REJECT:
-                validatePath = "/validateReject";
-                break;
             default:
                 break;
         }
@@ -538,18 +527,18 @@ public class ITUtilStructures {
      * @see ITUtilStructures#assertCreate(AuthorizationChoice, String, int)
      */
     public static StructureElement assertCreate(StructureElementCommandCreate structureElementCommand) {
-        StructureElement[] createdStructureElements = assertCreate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandCreate[] {structureElementCommand}), HttpURLConnection.HTTP_CREATED);
-        return createdStructureElements != null
-                ? createdStructureElements[0]
+        StructureElement[] structureElements = assertCreate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandCreate[] {structureElementCommand}), HttpURLConnection.HTTP_CREATED);
+        return structureElements != null
+                ? structureElements[0]
                 : null;
     }
     /**
      * @see ITUtilStructures#assertCreate(AuthorizationChoice, String, int)
      */
     public static StructureElement assertCreate(StructureElementCommandCreate structureElementCommand, int expectedResponseCode) {
-        StructureElement[] createdStructureElements = assertCreate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandCreate[] {structureElementCommand}), expectedResponseCode);
-        return createdStructureElements != null
-                ? createdStructureElements[0]
+        StructureElement[] structureElements = assertCreate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandCreate[] {structureElementCommand}), expectedResponseCode);
+        return structureElements != null
+                ? structureElements[0]
                 : null;
     }
     /**
@@ -573,7 +562,7 @@ public class ITUtilStructures {
      * @return created structure element
      */
     public static StructureElement[] assertCreate(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        StructureElement[] createdStructureElements  = null;
+        StructureElement[] structureElements  = null;
 
         try {
             String[] response = null;
@@ -582,13 +571,13 @@ public class ITUtilStructures {
             ITUtil.assertResponseLength2Code(response, expectedResponseCode);
 
             if (HttpURLConnection.HTTP_CREATED == expectedResponseCode) {
-                createdStructureElements = mapper.readValue(response[1], StructureElement[].class);
+                structureElements = mapper.readValue(response[1], StructureElement[].class);
 
-                for (StructureElement createdStructureElement : createdStructureElements) {
+                for (StructureElement createdStructureElement : structureElements) {
                     assertNotNull(createdStructureElement.getUuid());
-                    assertEquals(Status.PENDING, createdStructureElement.getStatus());
-                    assertEquals(Boolean.FALSE, createdStructureElement.isLatest());
-                    assertEquals(Boolean.FALSE, createdStructureElement.isDeleted());
+                    assertEquals(Status.APPROVED, createdStructureElement.getStatus());
+                    assertEquals(Boolean.TRUE,    createdStructureElement.isLatest());
+                    assertEquals(Boolean.FALSE,   createdStructureElement.isDeleted());
                     assertNotNull(createdStructureElement.getWhen());
                 }
 
@@ -603,7 +592,7 @@ public class ITUtilStructures {
             fail();
         }
 
-        return createdStructureElements;
+        return structureElements;
     }
 
     // ----------------------------------------------------------------------------------------------------
@@ -612,18 +601,18 @@ public class ITUtilStructures {
      * @see ITUtilStructures#assertUpdate(AuthorizationChoice, String, int)
      */
     public static StructureElement assertUpdate(StructureElementCommandUpdate structureElementCommand) {
-        StructureElement[] updatedStructureElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandUpdate[] {structureElementCommand}), HttpURLConnection.HTTP_OK);
-        return updatedStructureElements != null
-                ? updatedStructureElements[0]
+        StructureElement[] structureElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandUpdate[] {structureElementCommand}), HttpURLConnection.HTTP_OK);
+        return structureElements != null
+                ? structureElements[0]
                 : null;
     }
     /**
      * @see ITUtilStructures#assertUpdate(AuthorizationChoice, String, int)
      */
     public static StructureElement assertUpdate(StructureElementCommandUpdate structureElementCommand, int expectedResponseCode) {
-        StructureElement[] updatedStructureElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandUpdate[] {structureElementCommand}), expectedResponseCode);
-        return updatedStructureElements != null
-                ? updatedStructureElements[0]
+        StructureElement[] structureElements = assertUpdate(AuthorizationChoice.NONE, object2Json(new StructureElementCommandUpdate[] {structureElementCommand}), expectedResponseCode);
+        return structureElements != null
+                ? structureElements[0]
                 : null;
     }
     /**
@@ -641,7 +630,7 @@ public class ITUtilStructures {
      * @return updated structure element
      */
     public static StructureElement[] assertUpdate(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        StructureElement[] updatedStructureElements  = null;
+        StructureElement[] structureElements  = null;
 
         try {
             String[] response = null;
@@ -650,13 +639,13 @@ public class ITUtilStructures {
             ITUtil.assertResponseLength2Code(response, expectedResponseCode);
 
             if (HttpURLConnection.HTTP_OK == expectedResponseCode) {
-                updatedStructureElements = mapper.readValue(response[1], StructureElement[].class);
+                structureElements = mapper.readValue(response[1], StructureElement[].class);
 
-                for (StructureElement updatedStructureElement : updatedStructureElements) {
+                for (StructureElement updatedStructureElement : structureElements) {
                     assertNotNull(updatedStructureElement.getUuid());
-                    assertEquals(Status.PENDING, updatedStructureElement.getStatus());
-                    assertEquals(Boolean.FALSE, updatedStructureElement.isLatest());
-                    assertEquals(Boolean.FALSE, updatedStructureElement.isDeleted());
+                    assertEquals(Status.APPROVED, updatedStructureElement.getStatus());
+                    assertEquals(Boolean.TRUE,    updatedStructureElement.isLatest());
+                    assertEquals(Boolean.FALSE,   updatedStructureElement.isDeleted());
                     assertNotNull(updatedStructureElement.getWhen());
                 }
             }
@@ -668,7 +657,7 @@ public class ITUtilStructures {
             fail();
         }
 
-        return updatedStructureElements;
+        return structureElements;
     }
 
     // ----------------------------------------------------------------------------------------------------
@@ -713,378 +702,4 @@ public class ITUtilStructures {
         }
     }
 
-    // ----------------------------------------------------------------------------------------------------
-
-    /**
-     * @see ITUtilStructures#assertApprove(AuthorizationChoice, String, int)
-     */
-    public static StructureElement assertApprove(StructureElementCommandConfirm structureElementCommand) {
-        StructureElement[] approvedStructureElements = assertApprove(AuthorizationChoice.NONE, object2Json(new StructureElementCommandConfirm[] {structureElementCommand}), HttpURLConnection.HTTP_OK);
-        return approvedStructureElements != null
-                ? approvedStructureElements[0]
-                : null;
-    }
-    /**
-     * @see ITUtilStructures#assertApprove(AuthorizationChoice, String, int)
-     */
-    public static StructureElement assertApprove(StructureElementCommandConfirm structureElementCommand, int expectedResponseCode) {
-        StructureElement[] approvedStructureElements = assertApprove(AuthorizationChoice.NONE, object2Json(new StructureElementCommandConfirm[] {structureElementCommand}), expectedResponseCode);
-        return approvedStructureElements != null
-                ? approvedStructureElements[0]
-                : null;
-    }
-    /**
-     * @see ITUtilStructures#assertApprove(AuthorizationChoice, String, int)
-     */
-    public static StructureElement[] assertApprove(StructureElementCommandConfirm[] structureElementCommands) {
-        return assertApprove(AuthorizationChoice.NONE, object2Json(structureElementCommands), HttpURLConnection.HTTP_OK);
-    }
-    /**
-     * Utility method to approve json (structure elements) and assert result and response code.
-     *
-     * @param authorizationChoice authorization choice (none, user, admin)
-     * @param json json
-     * @param expectedResponseCode expected response code
-     * @return approved structure element
-     */
-    public static StructureElement[] assertApprove(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        StructureElement[] approvedStructureElements = null;
-
-        try {
-            String[] response = null;
-
-            response = ITUtil.runShellCommand(ITUtil.curlPatchPathJson(authorizationChoice, EndpointChoice.STRUCTURES, "/approve", json));
-            ITUtil.assertResponseLength2Code(response, expectedResponseCode);
-
-            if (HttpURLConnection.HTTP_OK == expectedResponseCode) {
-                approvedStructureElements = mapper.readValue(response[1], StructureElement[].class);
-
-                for (StructureElement approvedStructureElement : approvedStructureElements) {
-                    assertNotNull(approvedStructureElement.getUuid());
-                    assertEquals(Status.APPROVED, approvedStructureElement.getStatus());
-                    assertEquals(Boolean.TRUE, approvedStructureElement.isLatest());
-                    // not known if deleted
-                    assertNotNull(approvedStructureElement.getWhen());
-                }
-            }
-        } catch (IOException e) {
-            fail();
-        } catch (InterruptedException e) {
-            fail();
-        } catch (Exception e) {
-            fail();
-        }
-
-        return approvedStructureElements;
-    }
-
-    // ----------------------------------------------------------------------------------------------------
-
-    /**
-     * @see ITUtilStructures#assertCancel(AuthorizationChoice, String, int)
-     */
-    public static StructureElement assertCancel(StructureElementCommandConfirm structureElementCommand) {
-        StructureElement[] cancelledStructureElements = assertCancel(AuthorizationChoice.NONE, object2Json(new StructureElementCommandConfirm[] {structureElementCommand}), HttpURLConnection.HTTP_OK);
-        return cancelledStructureElements != null
-                ? cancelledStructureElements[0]
-                : null;
-    }
-    /**
-     * @see ITUtilStructures#assertCancel(AuthorizationChoice, String, int)
-     */
-    public static StructureElement assertCancel(StructureElementCommandConfirm structureElementCommand, int expectedResponseCode) {
-        StructureElement[] cancelledStructureElements = assertCancel(AuthorizationChoice.NONE, object2Json(new StructureElementCommandConfirm[] {structureElementCommand}), expectedResponseCode);
-        return cancelledStructureElements != null
-                ? cancelledStructureElements[0]
-                : null;
-    }
-    /**
-     * @see ITUtilStructures#assertCancel(AuthorizationChoice, String, int)
-     */
-    public static StructureElement[] assertCancel(StructureElementCommandConfirm[] structureElementCommands) {
-        return assertCancel(AuthorizationChoice.NONE, object2Json(structureElementCommands), HttpURLConnection.HTTP_OK);
-    }
-    /**
-     * Utility method to cancel json (structure elements) and assert result and response code.
-     *
-     * @param authorizationChoice authorization choice (none, user, admin)
-     * @param json json
-     * @param expectedResponseCode expected response code
-     * @return cancelled structure element
-     */
-    public static StructureElement[] assertCancel(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        StructureElement[] cancelledStructureElements = null;
-
-        try {
-            String[] response = null;
-
-            response = ITUtil.runShellCommand(ITUtil.curlPatchPathJson(authorizationChoice, EndpointChoice.STRUCTURES, "/cancel", json));
-            ITUtil.assertResponseLength2Code(response, expectedResponseCode);
-
-            if (HttpURLConnection.HTTP_OK == expectedResponseCode) {
-                cancelledStructureElements = mapper.readValue(response[1], StructureElement[].class);
-
-                for (StructureElement cancelledStructureElement : cancelledStructureElements) {
-                    assertNotNull(cancelledStructureElement.getUuid());
-                    assertEquals(Status.CANCELLED, cancelledStructureElement.getStatus());
-                    assertEquals(Boolean.FALSE, cancelledStructureElement.isLatest());
-                    // not known if deleted
-                    assertNotNull(cancelledStructureElement.getWhen());
-                }
-            }
-        } catch (IOException e) {
-            fail();
-        } catch (InterruptedException e) {
-            fail();
-        } catch (Exception e) {
-            fail();
-        }
-
-        return cancelledStructureElements;
-    }
-
-    // ----------------------------------------------------------------------------------------------------
-
-    /**
-     * @see ITUtilStructures#assertReject(AuthorizationChoice, String, int)
-     */
-    public static StructureElement assertReject(StructureElementCommandConfirm structureElementCommand) {
-        StructureElement[] rejectedStructureElements = assertReject(AuthorizationChoice.NONE, object2Json(new StructureElementCommandConfirm[] {structureElementCommand}), HttpURLConnection.HTTP_OK);
-        return rejectedStructureElements != null
-                ? rejectedStructureElements[0]
-                : null;
-    }
-    /**
-     * @see ITUtilStructures#assertReject(AuthorizationChoice, String, int)
-     */
-    public static StructureElement assertReject(StructureElementCommandConfirm structureElementCommand, int expectedResponseCode) {
-        StructureElement[] rejectedStructureElements = assertReject(AuthorizationChoice.NONE, object2Json(new StructureElementCommandConfirm[] {structureElementCommand}), expectedResponseCode);
-        return rejectedStructureElements != null
-                ? rejectedStructureElements[0]
-                : null;
-    }
-    /**
-     * @see ITUtilStructures#assertReject(AuthorizationChoice, String, int)
-     */
-    public static StructureElement[] assertReject(StructureElementCommandConfirm[] structureElementCommands) {
-        return assertReject(AuthorizationChoice.NONE, object2Json(structureElementCommands), HttpURLConnection.HTTP_OK);
-    }
-    /**
-     * Utility method to reject json (structure elements) and assert result and response code.
-     *
-     * @param authorizationChoice authorization choice (none, user, admin)
-     * @param json json
-     * @param expectedResponseCode expected response code
-     * @return rejected structure element
-     */
-    public static StructureElement[] assertReject(AuthorizationChoice authorizationChoice, String json, int expectedResponseCode) {
-        StructureElement[] rejectedStructureElements = null;
-
-        try {
-            String[] response = null;
-
-            response = ITUtil.runShellCommand(ITUtil.curlPatchPathJson(authorizationChoice, EndpointChoice.STRUCTURES, "/reject", json));
-            ITUtil.assertResponseLength2Code(response, expectedResponseCode);
-
-            if (HttpURLConnection.HTTP_OK == expectedResponseCode) {
-                rejectedStructureElements = mapper.readValue(response[1], StructureElement[].class);
-
-                for (StructureElement rejectedStructureElement : rejectedStructureElements) {
-                    assertNotNull(rejectedStructureElement.getUuid());
-                    assertEquals(Status.REJECTED, rejectedStructureElement.getStatus());
-                    assertEquals(Boolean.FALSE, rejectedStructureElement.isLatest());
-                    // not known if deleted
-                    assertNotNull(rejectedStructureElement.getWhen());
-                }
-            }
-        } catch (IOException e) {
-            fail();
-        } catch (InterruptedException e) {
-            fail();
-        } catch (Exception e) {
-            fail();
-        }
-
-        return rejectedStructureElements;
-    }
-
-    // ----------------------------------------------------------------------------------------------------
-
-    /**
-     * Utility method to create, approve a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return approved structure element (after create)
-     */
-    public static StructureElement assertCreateApprove(StructureElementCommandCreate structureElementCommand) {
-        return assertApprove(StructureElementUtil.convertElement2CommandConfirm(assertCreate(structureElementCommand)));
-    }
-    /**
-     * Utility method to create, approve structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return approved structure elements (after create)
-     */
-    public static StructureElement[] assertCreateApprove(StructureElementCommandCreate[] structureElementCommands) {
-        return assertApprove(StructureElementUtil.convertElement2CommandConfirm(assertCreate(structureElementCommands)));
-    }
-
-    /**
-     * Utility method to create, cancel a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return cancelled structure element (after create)
-     */
-    public static StructureElement assertCreateCancel(StructureElementCommandCreate structureElementCommand) {
-        return assertCancel(StructureElementUtil.convertElement2CommandConfirm(assertCreate(structureElementCommand)));
-    }
-    /**
-     * Utility method to create, cancel structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return cancelled structure elements (after create)
-     */
-    public static StructureElement[] assertCreateCancel(StructureElementCommandCreate[] structureElementCommands) {
-        return assertCancel(StructureElementUtil.convertElement2CommandConfirm(assertCreate(structureElementCommands)));
-    }
-
-    /**
-     * Utility method to create, reject a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return rejected structure element (after create)
-     */
-    public static StructureElement assertCreateReject(StructureElementCommandCreate structureElementCommand) {
-        return assertReject(StructureElementUtil.convertElement2CommandConfirm(assertCreate(structureElementCommand)));
-    }
-    /**
-     * Utility method to create, reject structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return rejected structure elements (after create)
-     */
-    public static StructureElement[] assertCreateReject(StructureElementCommandCreate[] structureElementCommands) {
-        return assertReject(StructureElementUtil.convertElement2CommandConfirm(assertCreate(structureElementCommands)));
-    }
-
-    /**
-     * Utility method to update, approve a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return approved structure element (after update)
-     */
-    public static StructureElement assertUpdateApprove(StructureElementCommandUpdate structureElementCommand) {
-        return assertApprove(StructureElementUtil.convertElement2CommandConfirm(assertUpdate(structureElementCommand)));
-    }
-    /**
-     * Utility method to update, approve structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return approved structure elements (after update)
-     */
-    public static StructureElement[] assertUpdateApprove(StructureElementCommandUpdate[] structureElementCommands) {
-        return assertApprove(StructureElementUtil.convertElement2CommandConfirm(assertUpdate(structureElementCommands)));
-    }
-
-    /**
-     * Utility method to update, cancel a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return cancelled structure element (after update)
-     */
-    public static StructureElement assertUpdateCancel(StructureElementCommandUpdate structureElementCommand) {
-        return assertCancel(StructureElementUtil.convertElement2CommandConfirm(assertUpdate(structureElementCommand)));
-    }
-    /**
-     * Utility method to update, cancel structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return cancelled structure elements (after update)
-     */
-    public static StructureElement[] assertUpdateCancel(StructureElementCommandUpdate[] structureElementCommands) {
-        return assertCancel(StructureElementUtil.convertElement2CommandConfirm(assertUpdate(structureElementCommands)));
-    }
-
-    /**
-     * Utility method to update, reject a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return rejected structure element (after update)
-     */
-    public static StructureElement assertUpdateReject(StructureElementCommandUpdate structureElementCommand) {
-        return assertReject(StructureElementUtil.convertElement2CommandConfirm(assertUpdate(structureElementCommand)));
-    }
-    /**
-     * Utility method to update, reject structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return rejected structure elements (after update)
-     */
-    public static StructureElement[] assertUpdateReject(StructureElementCommandUpdate[] structureElementCommands) {
-        return assertReject(StructureElementUtil.convertElement2CommandConfirm(assertUpdate(structureElementCommands)));
-    }
-
-    /**
-     * Utility method to delete, approve a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return approved structure element (after delete)
-     */
-    public static StructureElement assertDeleteApprove(StructureElementCommandConfirm structureElementCommand) {
-        assertDelete(structureElementCommand);
-        return assertApprove(structureElementCommand);
-    }
-    /**
-     * Utility method to delete, approve structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return approved structure elements (after delete)
-     */
-    public static StructureElement[] assertDeleteApprove(StructureElementCommandConfirm[] structureElementCommands) {
-        assertDelete(structureElementCommands);
-        return assertApprove(structureElementCommands);
-    }
-
-    /**
-     * Utility method to delete, cancel a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return cancelled structure element (after delete)
-     */
-    public static StructureElement assertDeleteCancel(StructureElementCommandConfirm structureElementCommand) {
-        assertDelete(structureElementCommand);
-        return assertCancel(structureElementCommand);
-    }
-    /**
-     * Utility method to delete, cancel structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return cancelled structure elements (after delete)
-     */
-    public static StructureElement[] assertDeleteCancel(StructureElementCommandConfirm[] structureElementCommands) {
-        assertDelete(structureElementCommands);
-        return assertCancel(structureElementCommands);
-    }
-
-    /**
-     * Utility method to delete, reject a structure element and assert result.
-     *
-     * @param structureElementCommand structure element command
-     * @return rejected structure element (after delete)
-     */
-    public static StructureElement assertDeleteReject(StructureElementCommandConfirm structureElementCommand) {
-        assertDelete(structureElementCommand);
-        return assertReject(structureElementCommand);
-    }
-    /**
-     * Utility method to delete, reject structure elements and assert result.
-     *
-     * @param structureElementCommands structure element commands
-     * @return rejected structure elements (after delete)
-     */
-    public static StructureElement[] assertDeleteReject(StructureElementCommandConfirm[] structureElementCommands) {
-        assertDelete(structureElementCommands);
-        return assertReject(structureElementCommands);
-    }
-
 }
diff --git a/src/test/java/org/openepics/names/docker/MetricsIT.java b/src/test/java/org/openepics/names/docker/MetricsIT.java
index 401ddc1e..c7ef3c42 100644
--- a/src/test/java/org/openepics/names/docker/MetricsIT.java
+++ b/src/test/java/org/openepics/names/docker/MetricsIT.java
@@ -74,44 +74,44 @@ public class MetricsIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         NameElementCommandCreate[] nameElementCommandsCreate = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010",    null, "RFQ-010")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystem010 = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystem010 = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "EMR", null, "Electromagnetic Resonators")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineEMR, null, null, "Control")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "FS",  null, "Flow Switch")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceTypeFS = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceTypeFS = structureElements[0].getUuid();
 
         nameElementCommandsCreate = new NameElementCommandCreate[] {
                 new NameElementCommandCreate(subsystem010, deviceTypeFS, "001", "description")
diff --git a/src/test/java/org/openepics/names/docker/NamesIT.java b/src/test/java/org/openepics/names/docker/NamesIT.java
index c3736a69..17f40bbf 100644
--- a/src/test/java/org/openepics/names/docker/NamesIT.java
+++ b/src/test/java/org/openepics/names/docker/NamesIT.java
@@ -88,51 +88,51 @@ class NamesIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010PRL", null, "01 Phase Reference Line"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010",    null, "RFQ-010"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "N1U1",   null, "Power switch board 01. Electrical power cabinets")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystem010PRL = approvedStructureElements[0].getUuid();
-        subsystem010    = approvedStructureElements[1].getUuid();
-        subsystemN1U1   = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystem010PRL = structureElements[0].getUuid();
+        subsystem010    = structureElements[1].getUuid();
+        subsystemN1U1   = structureElements[2].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "EMR", null, "Electromagnetic Resonators")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineEMR, null, null, "Control")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "FS",  null, "Flow Switch"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "RFA", null, "RF Antenna"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "TT",  null, "Temperature Transmitter")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceTypeFS  = approvedStructureElements[0].getUuid();
-        deviceTypeRFA = approvedStructureElements[1].getUuid();
-        deviceTypeTT  = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceTypeFS  = structureElements[0].getUuid();
+        deviceTypeRFA = structureElements[1].getUuid();
+        deviceTypeTT  = structureElements[2].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  10);
@@ -752,7 +752,7 @@ class NamesIT {
         ITUtilNames.assertRead("?deviceStructure=EMR-FS&page=3&pageSize=3",                                          0);
 
         // order by, pagination
-        response  = ITUtilNames.assertRead("?index=00_&orderBy=WHEN&isAsc=true&page=0&pageSize=3",   3);
+        response  = ITUtilNames.assertRead("?index=00_&orderBy=WHEN&isAsc=true&page=0&pageSize=3",                   3);
         response2 = ITUtilNames.assertRead("?index=00_&orderBy=WHEN&isAsc=false&page=2&pageSize=3",                  2);
         assertEquals(response.getList().get(0).getWhen().toString(),  response2.getList().get(response2.getList().size()-1).getWhen().toString());
         response  = ITUtilNames.assertRead("?index=00_&orderBy=WHEN&isAsc=false&page=0&pageSize=3",                  3);
diff --git a/src/test/java/org/openepics/names/docker/PvNamesIT.java b/src/test/java/org/openepics/names/docker/PvNamesIT.java
index f416381b..6d4580a1 100644
--- a/src/test/java/org/openepics/names/docker/PvNamesIT.java
+++ b/src/test/java/org/openepics/names/docker/PvNamesIT.java
@@ -70,44 +70,44 @@ public class PvNamesIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         NameElementCommandCreate[] nameElementCommandsCreate = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010",    null, "RFQ-010")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystem010 = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystem010 = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "EMR", null, "Electromagnetic Resonators")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineEMR, null, null, "Control")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupEMR = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupEMR = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupEMR, "FS",  null, "Flow Switch")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceTypeFS = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceTypeFS = structureElements[0].getUuid();
 
         nameElementCommandsCreate = new NameElementCommandCreate[] {
                 new NameElementCommandCreate(subsystem010, deviceTypeFS, "001", "description")
diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
index aa4e752f..bd15d32b 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java
@@ -79,15 +79,15 @@ class StructuresDeviceGroupIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Di",  null, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Di2", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineUuid  = approvedStructureElements[0].getUuid();
-        discipline2Uuid = approvedStructureElements[1].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineUuid  = structureElements[0].getUuid();
+        discipline2Uuid = structureElements[1].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                   2);
@@ -287,159 +287,37 @@ class StructuresDeviceGroupIT {
     }
 
     @Test
-    void createApprove() {
-        // test create and approve device group
-        //
-        // note
-        //     create in order to approve
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid, null, null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(createdStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createCancel() {
-        // test create and cancel device group
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid, null, null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject device group
-        //
-        // note
-        //     create in order to reject
+    void create() {
+        // test create device group
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
         StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommand = new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid, null, null, "description");
 
         structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+        structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
         structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
 
         // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -448,7 +326,7 @@ class StructuresDeviceGroupIT {
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -460,15 +338,15 @@ class StructuresDeviceGroupIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate update
 
@@ -522,132 +400,36 @@ class StructuresDeviceGroupIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve device group
-        //
-        // note
-        //     create, approve in order to update, approve
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel device group
+    void update() {
+        // test update device group
         //
         // note
-        //     create, approve in order to update, cancel
+        //     create in order to update
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject device group
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        structureElementCommandUpdate.setDescription("description update check");
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
 
         // update
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -656,7 +438,7 @@ class StructuresDeviceGroupIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -664,15 +446,15 @@ class StructuresDeviceGroupIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate delete
 
@@ -702,131 +484,40 @@ class StructuresDeviceGroupIT {
     }
 
     @Test
-    void deleteApprove() {
-        // test delete and approve device group
+    void delete() {
+        // test delete device group
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete, approve
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
 
         // delete
         ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel device group
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteReject() {
-        // test delete and reject device group
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
         ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
-    void readSearchHistoryApprove() {
-        // test read device group in various ways for create, approve
+    void readSearchHistoryStatus() {
+        // test read device group in various ways for create
         //     search
         //     latest
         //     history
@@ -835,340 +526,75 @@ class StructuresDeviceGroupIT {
         //     create (and more) to read (with content)
 
         StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int length = 0;
+        StructureElement structureElement  = null;
+        int count = 0;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 41, "description");
 
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
         // read (1)
-        length = ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).getListSize();
+        count = ITUtilStructures.assertRead("?type=DEVICEGROUP").getListSize();
 
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING",                          1, -1);
+        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=Rsha",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rsha",          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rsha",           0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
+        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("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha",                                           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
         ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha",                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       0);
         ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       0);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
 
-        // approve
-        approvedStructureElement = ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
 
         // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).getListSize());
+        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=Rsha",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rsha",          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rsha",           0);
+        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.assertFind("/" + approvedStructureElement.getUuid().toString());
+        ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha",                                           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
         ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha",                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       0);
         ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + approvedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-    }
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       0);
 
-    @Test
-    void readSearchHistoryCancel() {
-        // test read device group in various ways for create, cancel
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement   = null;
-        StructureElement cancelledStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING",                           1, -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=Rshc",             0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rshc",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rshc",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rshc",            0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc&statuses=APPROVED&deleted=false",            0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),          1);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-
-        // cancel
-        cancelledStructureElement = ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).getListSize());
-
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING",                           0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED",                         1, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED",                          0, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rshc",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rshc",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rshc",            0);
-
-        ITUtilStructures.assertFind("/" + cancelledStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc&statuses=APPROVED&deleted=false",            0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertHistory("/" + cancelledStructureElement.getUuid().toString(),        2);
+        ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
     }
 
-    @Test
-    void readSearchHistoryReject() {
-        // test read device group in various ways for create, reject
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement rejectedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING",                          1, -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=Rshr",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rshr",          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rshr",           0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-
-        // reject
-        rejectedStructureElement = ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DEVICEGROUP", 1, -1).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",                         1, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=CANCELLED&mnemonic=Rshr",          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=REJECTED&mnemonic=Rshr",           0);
-
-        ITUtilStructures.assertFind("/" + rejectedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + rejectedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryStatusLatest1() {
-        // test read device type in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
-        //
-        // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
-        //         1 entry for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
-        //
-        //     exclude content (with latest) before latest
-        //     exclude content (with latest) after  latest (cancelled, rejected)
-        //     keep most recent content (without latest)   (to have most recent in line of uuid without latest)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
-
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateCancel(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 3, "description");
-        createdStructureElement = ITUtilStructures.assertCreateReject(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 4, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        uuid4 = createdStructureElement.getUuid();
-
-        // ----------------------------------------------------------------------------------------------------
-        // from first structure element
-        assertNotNull(uuid);
-
-        ITUtilStructures.assertFind("/" + uuid.toString());
-        ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
-
-        ITUtilStructures.assertRead("?mnemonic=P1",                                 0);
-        ITUtilStructures.assertRead("?mnemonic=C1",                                 0);
-        ITUtilStructures.assertRead("?mnemonic=R1",                                 0);
-        ITUtilStructures.assertRead("?mnemonic=A1",                                 0);
-        ITUtilStructures.assertRead("?mnemonic=P1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=C1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=R1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=A1&statuses=APPROVED&deleted=false", 0);
-
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       1);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      2);
-
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-P1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-C1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-R1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-A1", Boolean.FALSE);
-    }
-
     @Test
     void readSearchHistoryStatusLatest9() {
         // test read device type in various ways
@@ -1181,10 +607,9 @@ class StructuresDeviceGroupIT {
         //     entries with different statuses
         //
         //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
+        //     2 different lines  of uuid with combinations of status and latest
         //         9 entries for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
+        //         no mnemonic
         //
         //     exclude content (with latest) before latest
         //     exclude content (with latest) after  latest (cancelled, rejected)
@@ -1192,100 +617,54 @@ class StructuresDeviceGroupIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement responseStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
+        StructureElement structureElement = null;
+        UUID uuid, uuid2 = null;
 
         // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description");
-        responseStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(responseStructureElement);
-        uuid = responseStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description no mnemonic 1");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 1 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 2, "description");
-        responseStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(responseStructureElement);
-        uuid2 = responseStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 1, "description");
-        responseStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(responseStructureElement);
-        uuid3 = responseStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 1, "description");
-        responseStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(responseStructureElement);
-        uuid4 = responseStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, 2, "description no mnemonic 2");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid2 = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 2 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1293,27 +672,17 @@ class StructuresDeviceGroupIT {
 
         ITUtilStructures.assertFind("/" + uuid.toString());
         ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
 
-        ITUtilStructures.assertRead("?mnemonic=P9",                                  0);
-        ITUtilStructures.assertRead("?mnemonic=C9",                                  0);
-        ITUtilStructures.assertRead("?mnemonic=R9",                                  0);
+        ITUtilStructures.assertRead("?mnemonic=Ab",                                  0);
         ITUtilStructures.assertRead("?mnemonic=A9",                                  0);
-        ITUtilStructures.assertRead("?mnemonic=P9&statuses=APPROVED&deleted=false",  0);
-        ITUtilStructures.assertRead("?mnemonic=C9&statuses=APPROVED&deleted=false",  0);
-        ITUtilStructures.assertRead("?mnemonic=R9&statuses=APPROVED&deleted=false",  0);
+        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  0);
         ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  0);
 
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       17);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      18);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-P9", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-C9", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-R9", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-Ab", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di-A9", Boolean.FALSE);
     }
 
@@ -1339,14 +708,18 @@ class StructuresDeviceGroupIT {
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         ResponsePageStructureElements response, response2 = null;
         UUID uuid = null;
         UUID uuid2 = null;
         UUID uuidRandom = UUID.randomUUID();
 
-        // create + approve
+        String description2 = "some other description";
+        String description3 = "more description";
+        String description4 = "yet another description";
+
+        // create
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 1, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 1, "description"),
@@ -1354,30 +727,41 @@ class StructuresDeviceGroupIT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 1, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 1, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid = structureElements[0].getUuid();
 
-        // create + cancel
+        // create
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 2, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 2, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 2, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 2, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 2, "description")
+                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 2, "description"),
         };
-        ITUtilStructures.assertCreateCancel(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + reject
+        // create
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 3, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 3, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 3, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 3, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 3, "description"),
+                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 3, "description")
         };
-        ITUtilStructures.assertCreateReject(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // create
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 4, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 4, "description"),
@@ -1385,15 +769,19 @@ class StructuresDeviceGroupIT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 4, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 4, "description")
         };
-        ITUtilStructures.assertCreate(structureElementCommandsCreate);
-
-        String description2 = "some other description";
-        String description3 = "more description";
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
+        // create
+        // update
+        // update
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 5, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 5, "description"),
@@ -1401,79 +789,56 @@ class StructuresDeviceGroupIT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 5, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 5, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + approve
-        // delete + approve
+        // create
+        // update
+        // update
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 6, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 6, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 6, "description"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 6, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 6, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteApprove(structureElementCommandsConfirm);
-
-        // create + approve
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 7, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        // 60 device group entries
-
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 8, "description")
+                new StructureElementCommandCreate(Type.DEVICEGROUP, discipline2Uuid, null, 6, "description"),
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid2 = approvedStructureElements[0].getUuid();
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid2 = structureElements[0].getUuid();
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // 85 subsystem entries
+        // 85 system group entries
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1493,48 +858,48 @@ class StructuresDeviceGroupIT {
         //             content for field in first and last items    -    always possible
         //             first and last items                         -    not always possible
 
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2",                                                         35);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&mnemonicPath=Di2",                                        10);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=APPROVED&mnemonicPath=Di2",                                       25);
+        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",                      35);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2",                      30);
 
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=false&mnemonicPath=Di2",                                           20);
+        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",                         20);
+        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",        20);
+        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",                           10);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&deleted=true&statuses=APPROVED&mnemonicPath=Di2",                           5);
+        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(),                                     45, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&parent=" + discipline2Uuid.toString(),                                     30, -1);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&parent=" + uuid.toString(),                                                 0);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&parent=" + uuid2.toString(),                                                0);
 
         ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonic=A__",                                                              0);
 
         ITUtilStructures.assertRead("?type=DEVICEGROUP&description=desc",                                                          0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&description=desc%",                                                        35, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&description=desc%",                                                        10, -1);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&description=sc",                                                            0);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&description=sc%",                                                           0);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&description=%sc",                                                           0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&description=%sc%",                                                         45, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&description=description",                                                  35, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&description=%sc%",                                                         30, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&description=description",                                                  10, -1);
 
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=test who",                                                             45, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=test who",                                                             30, -1);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&who=test",                                                                  0);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&who=who",                                                                   0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=test%",                                                                45, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%who",                                                                 45, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%est%",                                                                45, -1);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%wh%",                                                                 45, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=test%",                                                                30, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%who",                                                                 30, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%est%",                                                                30, -1);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%wh%",                                                                 30, -1);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&who=wh%",                                                                   0);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&who=asdf",                                                                  0);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&who=%asdf%",                                                                0);
@@ -1592,27 +957,27 @@ class StructuresDeviceGroupIT {
                 || value2 != null && (StringUtils.equals(value2, value0) || StringUtils.equals(value2, value1)));
 
         // pagination
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=0&pageSize=100",                                     35);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=0&pageSize=100",                                     30);
         ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=1&pageSize=100",                                      0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=0&pageSize=35",                                      35);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=1&pageSize=35",                                       0);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=0&pageSize=15",                                      15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=1&pageSize=15",                                      15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=2&pageSize=15",                                       5);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=3&pageSize=15",                                       0);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=0&pageSize=30",                                      30);
+        ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&page=1&pageSize=30",                                       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);
 
         // pagination
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=0&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=1&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=2&pageSize=15",    5);
-        ITUtilStructures.assertRead("?type=DEVICEGROUP&statuses=PENDING&statuses=APPROVED&mnemonicPath=Di2&page=3&pageSize=15",    0);
+        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);
 
         // order by, pagination
-        response  = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=true&page=0&pageSize=15",  15);
-        response2 = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=false&page=2&pageSize=15",  5);
+        response  = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
+        response2 = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=false&page=2&pageSize=12",  6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
-        response  = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=false&page=0&pageSize=15", 15);
-        response2 = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=true&page=2&pageSize=15",   5);
+        response  = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=false&page=0&pageSize=12", 12);
+        response2 = ITUtilStructures.assertRead("?type=DEVICEGROUP&mnemonicPath=Di2&orderBy=WHEN&isAsc=true&page=2&pageSize=12",   6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
 
         // uuid
@@ -1630,10 +995,10 @@ class StructuresDeviceGroupIT {
         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);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=PENDING",                               0, -1);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=REJECTED",                              0, -1);
-        ITUtilStructures.assertRead("/children/" + discipline2Uuid.toString() + "?statuses=CANCELLED,PENDING",                     0, -1);
+        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);
@@ -1642,13 +1007,13 @@ class StructuresDeviceGroupIT {
         //     ?mnemonic={mnemonic}
         ITUtilStructures.assertRead("?mnemonic=A",                                                                                 0);
         ITUtilStructures.assertRead("?mnemonic=A__",                                                                               0);
-        ITUtilStructures.assertRead("?mnemonic=AG_",                                                                               0);
-        ITUtilStructures.assertRead("?mnemonic=AG1",                                                                               0);
+        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=AG_&statuses=APPROVED&deleted=false",                                               0);
-        ITUtilStructures.assertRead("?mnemonic=AG1&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);
 
         // mnemonic path
@@ -1657,19 +1022,19 @@ class StructuresDeviceGroupIT {
         ITUtilStructures.assertRead("?mnemonicPath=D%",                                                                           17, -1);
         ITUtilStructures.assertRead("?mnemonicPath=D__",                                                                          16, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Di_",                                                                          16, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di2",                                                                          36);
+        ITUtilStructures.assertRead("?mnemonicPath=Di2",                                                                          31);
         ITUtilStructures.assertRead("?mnemonicPath=D&statuses=APPROVED&deleted=false",                                             0);
-        ITUtilStructures.assertRead("?mnemonicPath=D%&statuses=APPROVED&deleted=false",                                           22, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=D__&statuses=APPROVED&deleted=false",                                          21, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di_&statuses=APPROVED&deleted=false",                                          21, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di2&statuses=APPROVED&deleted=false",                                          21);
+        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);
 
         // history
         //     /history/{uuid}
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                      2);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                     9);
-        ITUtilStructures.assertHistory("/" + disciplineUuid.toString(),                                                            2);
-        ITUtilStructures.assertHistory("/" + discipline2Uuid.toString(),                                                           2);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                      1);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                     5);
+        ITUtilStructures.assertHistory("/" + disciplineUuid.toString(),                                                            1);
+        ITUtilStructures.assertHistory("/" + discipline2Uuid.toString(),                                                           1);
         ITUtilStructures.assertHistory("/" + uuidRandom.toString(),                                                                0, HttpURLConnection.HTTP_NOT_FOUND);
 
         ITUtilStructures.assertExists(Type.DEVICEGROUP, "Di2", Boolean.FALSE);
diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
index 3229efc6..12273d35 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java
@@ -79,19 +79,19 @@ class StructuresDeviceTypeIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Di", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineUuid = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupUuid = structureElements[0].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                   2);
@@ -289,157 +289,38 @@ class StructuresDeviceTypeIT {
     }
 
     @Test
-    void createApprove() {
-        // test create and approve system
-        //
-        // note
-        //     create in order to approve
+    void create() {
+        // test create device type
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
         StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommand = new StructureElementCommand(null, Type.DEVICETYPE, deviceGroupUuid, "Ca", null, "description");
 
         structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+        structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
         structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
 
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Ca", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
 
         // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Ca", Boolean.TRUE);
         ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Ca", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(createdStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createCancel() {
-        // test create and cancel system
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.DEVICETYPE, deviceGroupUuid, "Cc", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject system
-        //
-        // note
-        //     create in order to reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.DEVICETYPE, deviceGroupUuid, "Cr", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
         ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
@@ -448,7 +329,7 @@ class StructuresDeviceTypeIT {
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -460,15 +341,15 @@ class StructuresDeviceTypeIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Cu", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate update
 
@@ -522,132 +403,36 @@ class StructuresDeviceTypeIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve device type
+    void update() {
+        // test update device type
         //
         // note
-        //     create, approve in order to update, approve
+        //     create in order to update
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Ua", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel device type
-        //
-        // note
-        //     create, approve in order to update, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Uc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject device type
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Ur", null, "description");
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        structureElementCommandUpdate.setDescription("description update check");
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
 
         // update
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -656,7 +441,7 @@ class StructuresDeviceTypeIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -664,15 +449,15 @@ class StructuresDeviceTypeIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Cd", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate delete
 
@@ -702,132 +487,41 @@ class StructuresDeviceTypeIT {
     }
 
     @Test
-    void deleteApprove() {
+    void delete() {
         // purpose
-        //     test delete and approve device type
+        //     test delete device type
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete, approve
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Da", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel device type
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Dc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteReject() {
-        // test delete and reject device type
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Dr", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
 
         // delete
         ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
         ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
     }
 
     @Test
-    void readSearchHistoryApprove() {
-        // test read device type in various ways for create, approve
+    void readSearchHistoryStatus() {
+        // test read device type in various ways for create
         //     search
         //     latest
         //     history
@@ -836,347 +530,75 @@ class StructuresDeviceTypeIT {
         //     create (and more) to read (with content)
 
         StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int length = 0;
+        StructureElement structureElement  = null;
+        int count = 0;
 
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Rsha", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Rshs", 41, "description");
 
         // read (1)
-        length = ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).getListSize();
+        count = ITUtilStructures.assertRead("?type=DEVICETYPE").getListSize();
 
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING",                           1, -1);
+        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=Rsha",             1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rsha",            0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rsha",            0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
+        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("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha",                                           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
         ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha",                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs",                                       0);
         ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       0);
 
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rsha",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rsha", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshs",    Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshs", Boolean.FALSE);
 
-        // approve
-        approvedStructureElement = ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
 
         // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).getListSize());
+        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=Rsha",             0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rsha",            1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rsha",            0);
+        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.assertFind("/" + approvedStructureElement.getUuid().toString());
+        ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha",                                           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs",                                           0);
         ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rsha&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
+        ITUtilStructures.assertRead("?mnemonic=Di-Rshs&statuses=APPROVED&deleted=false",           0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha",                                       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=Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rsha&statuses=APPROVED&deleted=false",       1);
-
-        ITUtilStructures.assertHistory("/" + approvedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rsha",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rsha", Boolean.TRUE);
-    }
-
-    @Test
-    void readSearchHistoryCancel() {
-        // test read device type in various ways for create, cancel
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement   = null;
-        StructureElement cancelledStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Rshc", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING",                            1, -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=Rshc",              1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rshc",            0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rshc",             0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc&statuses=APPROVED&deleted=false",            0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),          1);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshc",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshc", Boolean.FALSE);
-
-        // cancel
-        cancelledStructureElement = ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).getListSize());
-
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING",                            0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED",                           0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED",                          1, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED",                           0, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&mnemonic=Rshc",              0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rshc",            1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rshc",             0);
-
-        ITUtilStructures.assertFind("/" + cancelledStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshc&statuses=APPROVED&deleted=false",            0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",             1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertHistory("/" + cancelledStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshc",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshc", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryReject() {
-        // test read device type in various ways for create, reject
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement rejectedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Rshr", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING",                           1, -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=Rshr",             1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rshr",            0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshr",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshr", Boolean.FALSE);
-
-        // reject
-        rejectedStructureElement = ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DEVICETYPE", 1, -1).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",                          1, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&mnemonic=Rshr",             0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=Rshr",            1);
-
-        ITUtilStructures.assertFind("/" + rejectedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Di",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Di&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Di-Rshr&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Di",                                            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di&statuses=APPROVED&deleted=false",            1, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + rejectedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshr",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshr", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryStatusLatest1() {
-        // test read device type in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
-        //
-        // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
-        //         1 entry for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
-        //
-        //     exclude content (with latest) before latest
-        //     exclude content (with latest) after  latest (cancelled, rejected)
-        //     keep most recent content (without latest)   (to have most recent in line of uuid without latest)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
-
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "P1", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "C1", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateCancel(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "R1", 3, "description");
-        createdStructureElement = ITUtilStructures.assertCreateReject(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "A1", 4, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        uuid4 = createdStructureElement.getUuid();
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-Rshs&statuses=APPROVED&deleted=false",       1);
 
-        // ----------------------------------------------------------------------------------------------------
-        // from first structure element
-        assertNotNull(uuid);
+        ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
-        ITUtilStructures.assertFind("/" + uuid.toString());
-        ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
-
-        ITUtilStructures.assertRead("?mnemonic=P1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=C1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=R1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=A1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=P1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=C1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=R1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=A1&statuses=APPROVED&deleted=false", 1);
-
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       1);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      2);
-
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "P1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "C1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "R1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "A1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-P1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-C1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-R1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-A1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Rshs",    Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Rshs", Boolean.TRUE);
     }
 
     @Test
@@ -1191,10 +613,9 @@ class StructuresDeviceTypeIT {
         //     entries with different statuses
         //
         //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
+        //     2 different lines  of uuid with combinations of status and latest
         //         9 entries for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
+        //         mnemonic - Ab, A9
         //
         //     exclude content (with latest) before latest
         //     exclude content (with latest) after  latest (cancelled, rejected)
@@ -1202,100 +623,54 @@ class StructuresDeviceTypeIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
+        StructureElement structureElement = null;
+        UUID uuid, uuid2 = null;
 
         // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "P9", null, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Ab", null, "description mnemonic Ab");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "C9", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid2 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "R9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid3 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "A9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid4 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "A9", 2, "description mnemonic A9");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid2 = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic A9 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1303,30 +678,18 @@ class StructuresDeviceTypeIT {
 
         ITUtilStructures.assertFind("/" + uuid.toString());
         ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
 
-        ITUtilStructures.assertRead("?mnemonic=P9",                                  2);
-        ITUtilStructures.assertRead("?mnemonic=C9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=R9",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=P9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=C9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=R9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
         ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
 
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       17);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      18);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
 
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "P9",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "C9",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "R9",    Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Ab",    Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "A9",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-P9", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-C9", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-R9", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-Ab", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-A9", Boolean.TRUE);
     }
 
@@ -1352,14 +715,18 @@ class StructuresDeviceTypeIT {
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         ResponsePageStructureElements response, response2 = null;
         UUID uuid = null;
         UUID uuid2 = null;
         UUID uuidRandom = UUID.randomUUID();
 
-        // create + approve
+        String description2 = "some other description";
+        String description3 = "more description";
+        String description4 = "yet another description";
+
+        // create
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AA1", 1, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AA2", 1, "description"),
@@ -1367,20 +734,27 @@ class StructuresDeviceTypeIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AA4", 1, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AA5", 1, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid = structureElements[0].getUuid();
 
-        // create + cancel
+        // create
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AB1", 2, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AB2", 2, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AB3", 2, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AB4", 2, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AB5", 2, "description")
+                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AB5", 2, "description"),
         };
-        ITUtilStructures.assertCreateCancel(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + reject
+        // create
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AC1", 3, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AC2", 3, "description"),
@@ -1388,9 +762,13 @@ class StructuresDeviceTypeIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AC4", 3, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AC5", 3, "description")
         };
-        ITUtilStructures.assertCreateReject(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // create
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AD1", 4, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AD2", 4, "description"),
@@ -1398,15 +776,19 @@ class StructuresDeviceTypeIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AD4", 4, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AD5", 4, "description")
         };
-        ITUtilStructures.assertCreate(structureElementCommandsCreate);
-
-        String description2 = "some other description";
-        String description3 = "more description";
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
+        // create
+        // update
+        // update
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AE1", 5, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AE2", 5, "description"),
@@ -1414,79 +796,56 @@ class StructuresDeviceTypeIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AE4", 5, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AE5", 5, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + approve
-        // delete + approve
+        // create
+        // update
+        // update
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AF1", 6, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AF2", 6, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AF3", 6, "description"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AF4", 6, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AF5", 6, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteApprove(structureElementCommandsConfirm);
-
-        // create + approve
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AG1", 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AG2", 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AG3", 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AG4", 7, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AG5", 7, "description")
+                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AF5", 6, "description"),
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        // 60 device type entries
-
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AH1", 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AH2", 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AH3", 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AH4", 8, "description"),
-                new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "AH5", 8, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid2 = approvedStructureElements[0].getUuid();
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid2 = structureElements[0].getUuid();
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // 85 subsystem entries
+        // 85 system group entries
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1506,49 +865,49 @@ class StructuresDeviceTypeIT {
         //             content for field in first and last items    -    always possible
         //             first and last items                         -    not always possible
 
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__",                                                         50);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&mnemonic=A__",                                        15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=APPROVED&mnemonic=A__",                                       25);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=CANCELLED&mnemonic=A__",                                       5);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=REJECTED&mnemonic=A__",                                        5);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      40);
+        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__",                                           35);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=PENDING&mnemonic=A__",                           5);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=APPROVED&mnemonic=A__",                         20);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=CANCELLED&mnemonic=A__",                         5);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=REJECTED&mnemonic=A__",                          5);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        25);
+        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__",                           10);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&deleted=true&statuses=APPROVED&mnemonic=A__",                           5);
+        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(),                                 45, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&parent=" + deviceGroupUuid.toString(),                                 30, -1);
         ITUtilStructures.assertRead("?type=DEVICETYPE&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&parent=" + uuid2.toString(),                                            0);
 
         ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonicPath=A__",                                                      0);
 
         ITUtilStructures.assertRead("?type=DEVICETYPE&description=desc",                                                      0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&description=desc%",                                                    35, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&description=desc%",                                                    10, -1);
         ITUtilStructures.assertRead("?type=DEVICETYPE&description=sc",                                                        0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&description=sc%",                                                       0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&description=%sc",                                                       0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&description=%sc%",                                                     45, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&description=description",                                              35, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&description=%sc%",                                                     30, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&description=description",                                              10, -1);
 
-        ITUtilStructures.assertRead("?type=DEVICETYPE&who=test who",                                                         45, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&who=test who",                                                         30, -1);
         ITUtilStructures.assertRead("?type=DEVICETYPE&who=test",                                                              0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&who=who",                                                               0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&who=test%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&who=%who",                                                             45, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&who=%est%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&who=%wh%",                                                             45, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&who=test%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&who=%who",                                                             30, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&who=%est%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&who=%wh%",                                                             30, -1);
         ITUtilStructures.assertRead("?type=DEVICETYPE&who=wh%",                                                               0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&who=asdf",                                                              0);
         ITUtilStructures.assertRead("?type=DEVICETYPE&who=%asdf%",                                                            0);
@@ -1586,8 +945,8 @@ class StructuresDeviceTypeIT {
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(1, response.getList().get(0).getOrdering());
         assertTrue(response.getList().get(0).getMnemonic().startsWith("AA"));
-        assertEquals(8, response2.getList().get(0).getOrdering());
-        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AH"));
+        assertEquals(6, response2.getList().get(0).getOrdering());
+        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AF"));
 
         response  = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=true");
         response2 = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=false");
@@ -1610,27 +969,27 @@ class StructuresDeviceTypeIT {
                 || value2 != null && (StringUtils.equals(value2, value0) || StringUtils.equals(value2, value1)));
 
         // pagination
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=0&pageSize=100",                                     50);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=0&pageSize=100",                                     30);
         ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=1&pageSize=100",                                      0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=0&pageSize=50",                                      50);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=1&pageSize=50",                                       0);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=0&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=1&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=2&pageSize=20",                                      10);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=3&pageSize=20",                                       0);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=0&pageSize=30",                                      30);
+        ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&page=1&pageSize=30",                                       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);
 
         // pagination
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=15",   10);
-        ITUtilStructures.assertRead("?type=DEVICETYPE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=15",    0);
+        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);
 
         // order by, pagination
-        response  = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=20",  20);
-        response2 = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=20", 10);
+        response  = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
+        response2 = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=12",  6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
-        response  = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=20", 20);
-        response2 = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=20",  10);
+        response  = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=12", 12);
+        response2 = ITUtilStructures.assertRead("?type=DEVICETYPE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=12",   6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
 
         // uuid
@@ -1649,10 +1008,10 @@ class StructuresDeviceTypeIT {
         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);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=PENDING",                          0, -1);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=REJECTED",                         0, -1);
-        ITUtilStructures.assertRead("/children/" + deviceGroupUuid.toString() + "?statuses=CANCELLED,PENDING",                0, -1);
+        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);
@@ -1662,42 +1021,42 @@ class StructuresDeviceTypeIT {
         //     ?mnemonic={mnemonic}
         ITUtilStructures.assertRead("?mnemonic=A",                                                                            0);
         ITUtilStructures.assertRead("?mnemonic=A__",                                                                         15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AG_",                                                                         10);
-        ITUtilStructures.assertRead("?mnemonic=AG1",                                                                          2);
+        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=AG_&statuses=APPROVED&deleted=false",                                          5);
-        ITUtilStructures.assertRead("?mnemonic=AG1&statuses=APPROVED&deleted=false",                                          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);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
         ITUtilStructures.assertRead("?mnemonicPath=A",                                                                        0);
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=AG_",                                                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1",                                                                      0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_",                                                                      0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1",                                                                      0);
         ITUtilStructures.assertRead("?mnemonicPath=Di-A%",                                                                   15, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Di-A",                                                                     0);
         ITUtilStructures.assertRead("?mnemonicPath=Di-A__",                                                                  15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-AG_",                                                                  10);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-AG1",                                                                   2);
+        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=AG_&statuses=APPROVED&deleted=false",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1&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-AG_&statuses=APPROVED&deleted=false",                                   5);
-        ITUtilStructures.assertRead("?mnemonicPath=Di-AG1&statuses=APPROVED&deleted=false",                                   1);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-AE_&statuses=APPROVED&deleted=false",                                   5);
+        ITUtilStructures.assertRead("?mnemonicPath=Di-AE1&statuses=APPROVED&deleted=false",                                   1);
 
         // history
         //     /history/{uuid}
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                 2);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                9);
-        ITUtilStructures.assertHistory("/" + deviceGroupUuid.toString(),                                                      2);
-        ITUtilStructures.assertHistory("/" + disciplineUuid.toString(),                                                       2);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                 1);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                5);
+        ITUtilStructures.assertHistory("/" + deviceGroupUuid.toString(),                                                      1);
+        ITUtilStructures.assertHistory("/" + disciplineUuid.toString(),                                                       1);
         ITUtilStructures.assertHistory("/" + uuidRandom.toString(),                                                           0, HttpURLConnection.HTTP_NOT_FOUND);
 
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AA1", Boolean.TRUE);
@@ -1705,11 +1064,11 @@ class StructuresDeviceTypeIT {
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AA3", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AA4", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AA5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB2", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB3", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB4", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB2", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB3", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB4", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AB5", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AC1", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AC2", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AC3", Boolean.FALSE);
@@ -1730,16 +1089,16 @@ class StructuresDeviceTypeIT {
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AF3", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AF4", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AF5", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH5", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AG5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DEVICETYPE, "Di-AH5", Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
index 9e560ddf..8b9e4761 100644
--- a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java
@@ -222,157 +222,38 @@ class StructuresDisciplineIT {
     }
 
     @Test
-    void createApprove() {
-        // test create and approve discipline
-        //
-        // note
-        //     create in order to approve
+    void create() {
+        // test create discipline
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
         StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommand = new StructureElementCommand(null, Type.DISCIPLINE, null, "Ca", null, "description");
 
         structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+        structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
         structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "Ca", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
 
         // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "Ca", Boolean.TRUE);
         ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(createdStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createCancel() {
-        // test create and cancel discipline
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.DISCIPLINE, null, "Cc", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject discipline
-        //
-        // note
-        //     create in order to reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.DISCIPLINE, null, "Cr", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
         ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
@@ -381,7 +262,7 @@ class StructuresDisciplineIT {
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -392,15 +273,15 @@ class StructuresDisciplineIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Cu", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate update
 
@@ -447,132 +328,36 @@ class StructuresDisciplineIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve discipline
+    void update() {
+        // test update discipline
         //
         // note
-        //     create, approve in order to update, approve
+        //     create in order to update
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Ua", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel discipline
-        //
-        // note
-        //     create, approve in order to update, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Uc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject discipline
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Ur", null, "description");
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        structureElementCommandUpdate.setDescription("description update check");
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
 
         // update
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -581,7 +366,7 @@ class StructuresDisciplineIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -589,15 +374,15 @@ class StructuresDisciplineIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Cd", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate delete
 
@@ -627,131 +412,40 @@ class StructuresDisciplineIT {
     }
 
     @Test
-    void deleteApprove() {
-        // test delete and approve discipline
+    void delete() {
+        // test delete discipline
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete, approve
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Da", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel discipline
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Dc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteReject() {
-        // test delete and reject discipline
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Dr", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
 
         // delete
         ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
         ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
-    void readSearchHistoryApprove() {
-        // test read discipline in various ways for create, approve
+    void readSearchHistoryStatus() {
+        // test read discipline in various ways for create
         //     search
         //     latest
         //     history
@@ -760,289 +454,57 @@ class StructuresDisciplineIT {
         //     create (and more) to read (with content)
 
         StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int length = 0;
+        StructureElement structureElement  = null;
+        int count = 0;
 
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Rsha", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Rshs", 41, "description");
 
         // read (1)
-        length = ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).getListSize();
+        count = ITUtilStructures.assertRead("?type=DISCIPLINE").getListSize();
 
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING",                           1, -1);
+        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=Rsha",             1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rsha",            0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rsha",            0);
+        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.assertFind("/" + createdStructureElement.getUuid().toString());
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
 
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
 
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshs", Boolean.FALSE);
 
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rsha", Boolean.FALSE);
-
-        // approve
-        approvedStructureElement = ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
 
         // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).getListSize());
+        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=Rsha",             0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rsha",            1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rsha",            0);
-
-        ITUtilStructures.assertFind("/" + approvedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              1);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          1);
-
-        ITUtilStructures.assertHistory("/" + approvedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rsha", Boolean.TRUE);
-    }
-
-    @Test
-    void readSearchHistoryCancel() {
-        // test read discipline in various ways for create, cancel
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement   = null;
-        StructureElement cancelledStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Rshc", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING",                            1, -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=Rshc",              1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rshc",            0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rshc",             0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),          1);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshc", Boolean.FALSE);
-
-        // cancel
-        cancelledStructureElement = ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).getListSize());
-
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING",                            0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED",                           0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED",                          1, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED",                           0, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&mnemonic=Rshc",              0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rshc",            1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rshc",             0);
-
-        ITUtilStructures.assertFind("/" + cancelledStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertHistory("/" + cancelledStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshc", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryReject() {
-        // test read discipline in various ways for create, reject
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement rejectedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Rshr", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING",                           1, -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=Rshr",             1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rshr",            0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
+        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("?mnemonicPath=Rshr",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
 
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshr", Boolean.FALSE);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          1);
 
-        // reject
-        rejectedStructureElement = ITUtilStructures.assertReject(structureElementCommandConfirm);
+        ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=DISCIPLINE", 1, -1).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",                          1, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&mnemonic=Rshr",             0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=Rshr",            1);
-
-        ITUtilStructures.assertFind("/" + rejectedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-
-        ITUtilStructures.assertHistory("/" + rejectedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshr", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryStatusLatest1() {
-        // test read discipline in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
-        //
-        // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
-        //         1 entry for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
-        //
-        //     exclude content (with latest) before latest
-        //     exclude content (with latest) after  latest (cancelled, rejected)
-        //     keep most recent content (without latest)   (to have most recent in line of uuid without latest)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
-
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "P1", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "C1", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateCancel(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "R1", 3, "description");
-        createdStructureElement = ITUtilStructures.assertCreateReject(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "A1", 4, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        uuid4 = createdStructureElement.getUuid();
-
-        // ----------------------------------------------------------------------------------------------------
-        // from first structure element
-        assertNotNull(uuid);
-
-        ITUtilStructures.assertFind("/" + uuid.toString());
-        ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
-
-        ITUtilStructures.assertRead("?mnemonic=P1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=C1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=R1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=A1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=P1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=C1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=R1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=A1&statuses=APPROVED&deleted=false", 1);
-
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       1);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      2);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "P1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "C1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "R1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "A1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "Rshs", Boolean.TRUE);
     }
 
     @Test
@@ -1057,10 +519,9 @@ class StructuresDisciplineIT {
         //     entries with different statuses
         //
         //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
+        //     2 different lines  of uuid with combinations of status and latest
         //         9 entries for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
+        //         mnemonic - Ab, A9
         //
         //     exclude content (with latest) before latest
         //     exclude content (with latest) after  latest (cancelled, rejected)
@@ -1068,100 +529,54 @@ class StructuresDisciplineIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
+        StructureElement structureElement = null;
+        UUID uuid, uuid2 = null;
 
         // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "P9", null, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "Ab", null, "description mnemonic Ab");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "C9", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid2 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "R9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid3 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "A9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid4 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.DISCIPLINE, null, "A9", 2, "description mnemonic A9");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid2 = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic A9 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1169,26 +584,16 @@ class StructuresDisciplineIT {
 
         ITUtilStructures.assertFind("/" + uuid.toString());
         ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
 
-        ITUtilStructures.assertRead("?mnemonic=P9",                                  2);
-        ITUtilStructures.assertRead("?mnemonic=C9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=R9",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=P9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=C9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=R9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
         ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
 
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       17);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      18);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
 
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "P9", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "C9", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "R9", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "Ab", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "A9", Boolean.TRUE);
     }
 
@@ -1214,14 +619,18 @@ class StructuresDisciplineIT {
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         ResponsePageStructureElements response, response2 = null;
         UUID uuid = null;
         UUID uuid2 = null;
         UUID uuidRandom = UUID.randomUUID();
 
-        // create + approve
+        String description2 = "some other description";
+        String description3 = "more description";
+        String description4 = "yet another description";
+
+        // create
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AA1", 1, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AA2", 1, "description"),
@@ -1229,20 +638,27 @@ class StructuresDisciplineIT {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AA4", 1, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AA5", 1, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid = structureElements[0].getUuid();
 
-        // create + cancel
+        // create
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AB1", 2, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AB2", 2, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AB3", 2, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AB4", 2, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AB5", 2, "description")
+                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AB5", 2, "description"),
         };
-        ITUtilStructures.assertCreateCancel(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + reject
+        // create
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AC1", 3, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AC2", 3, "description"),
@@ -1250,9 +666,13 @@ class StructuresDisciplineIT {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AC4", 3, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AC5", 3, "description")
         };
-        ITUtilStructures.assertCreateReject(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // create
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AD1", 4, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AD2", 4, "description"),
@@ -1260,15 +680,19 @@ class StructuresDisciplineIT {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AD4", 4, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AD5", 4, "description")
         };
-        ITUtilStructures.assertCreate(structureElementCommandsCreate);
-
-        String description2 = "some other description";
-        String description3 = "more description";
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
+        // create
+        // update
+        // update
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AE1", 5, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AE2", 5, "description"),
@@ -1276,79 +700,56 @@ class StructuresDisciplineIT {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AE4", 5, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AE5", 5, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + approve
-        // delete + approve
+        // create
+        // update
+        // update
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AF1", 6, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AF2", 6, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AF3", 6, "description"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "AF4", 6, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AF5", 6, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteApprove(structureElementCommandsConfirm);
-
-        // create + approve
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AG1", 7, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AG2", 7, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AG3", 7, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AG4", 7, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AG5", 7, "description")
+                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AF5", 6, "description"),
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        // 60 discipline entries
-
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AH1", 8, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AH2", 8, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AH3", 8, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AH4", 8, "description"),
-                new StructureElementCommandCreate(Type.DISCIPLINE, null, "AH5", 8, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid2 = approvedStructureElements[0].getUuid();
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid2 = structureElements[0].getUuid();
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // 85 subsystem entries
+        // 85 system group entries
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1368,23 +769,23 @@ class StructuresDisciplineIT {
         //             content for field in first and last items    -    always possible
         //             first and last items                         -    not always possible
 
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__",                                                         50);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&mnemonic=A__",                                        15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=APPROVED&mnemonic=A__",                                       25);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=CANCELLED&mnemonic=A__",                                       5);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=REJECTED&mnemonic=A__",                                        5);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      40);
+        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__",                                           35);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=PENDING&mnemonic=A__",                           5);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=APPROVED&mnemonic=A__",                         20);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=CANCELLED&mnemonic=A__",                         5);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=REJECTED&mnemonic=A__",                          5);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        25);
+        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__",                           10);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&deleted=true&statuses=APPROVED&mnemonic=A__",                           5);
+        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);
@@ -1392,23 +793,23 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertRead("?type=DISCIPLINE&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&parent=" + uuid2.toString(),                                            0);
 
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonicPath=A__",                                                     45, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonicPath=A__",                                                     30, -1);
 
         ITUtilStructures.assertRead("?type=DISCIPLINE&description=desc",                                                      0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&description=desc%",                                                    35, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&description=desc%",                                                    10, -1);
         ITUtilStructures.assertRead("?type=DISCIPLINE&description=sc",                                                        0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&description=sc%",                                                       0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&description=%sc",                                                       0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&description=%sc%",                                                     45, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&description=description",                                              35, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&description=%sc%",                                                     30, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&description=description",                                              10, -1);
 
-        ITUtilStructures.assertRead("?type=DISCIPLINE&who=test who",                                                         45, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&who=test who",                                                         30, -1);
         ITUtilStructures.assertRead("?type=DISCIPLINE&who=test",                                                              0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&who=who",                                                               0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&who=test%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&who=%who",                                                             45, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&who=%est%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&who=%wh%",                                                             45, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&who=test%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&who=%who",                                                             30, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&who=%est%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&who=%wh%",                                                             30, -1);
         ITUtilStructures.assertRead("?type=DISCIPLINE&who=wh%",                                                               0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&who=asdf",                                                              0);
         ITUtilStructures.assertRead("?type=DISCIPLINE&who=%asdf%",                                                            0);
@@ -1446,8 +847,8 @@ class StructuresDisciplineIT {
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(1, response.getList().get(0).getOrdering());
         assertTrue(response.getList().get(0).getMnemonic().startsWith("AA"));
-        assertEquals(8, response2.getList().get(0).getOrdering());
-        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AH"));
+        assertEquals(6, response2.getList().get(0).getOrdering());
+        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AF"));
 
         response  = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=true");
         response2 = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=false");
@@ -1470,27 +871,27 @@ class StructuresDisciplineIT {
                 || value2 != null && (StringUtils.equals(value2, value0) || StringUtils.equals(value2, value1)));
 
         // pagination
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=0&pageSize=100",                                     50);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=0&pageSize=100",                                     30);
         ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=1&pageSize=100",                                      0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=0&pageSize=50",                                      50);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=1&pageSize=50",                                       0);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=0&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=1&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=2&pageSize=20",                                      10);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=3&pageSize=20",                                       0);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=0&pageSize=30",                                      30);
+        ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&page=1&pageSize=30",                                       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);
 
         // pagination
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=15",   10);
-        ITUtilStructures.assertRead("?type=DISCIPLINE&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=15",    0);
+        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);
 
         // order by, pagination
-        response  = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=20",  20);
-        response2 = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=20", 10);
+        response  = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
+        response2 = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=12",  6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
-        response  = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=20", 20);
-        response2 = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=20",  10);
+        response  = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=12", 12);
+        response2 = ITUtilStructures.assertRead("?type=DISCIPLINE&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=12",   6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
 
         // uuid
@@ -1509,28 +910,28 @@ class StructuresDisciplineIT {
         //     ?mnemonic={mnemonic}
         ITUtilStructures.assertRead("?mnemonic=A",                                                                            0);
         ITUtilStructures.assertRead("?mnemonic=A__",                                                                         15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AG_",                                                                         10);
-        ITUtilStructures.assertRead("?mnemonic=AG1",                                                                          2);
+        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=AG_&statuses=APPROVED&deleted=false",                                          5);
-        ITUtilStructures.assertRead("?mnemonic=AG1&statuses=APPROVED&deleted=false",                                          1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                          5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                          1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
         ITUtilStructures.assertRead("?mnemonicPath=A",                                                                        0);
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                     15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=AG_",                                                                     10);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1",                                                                      2);
+        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=AG_&statuses=APPROVED&deleted=false",                                      5);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1&statuses=APPROVED&deleted=false",                                      1);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                      5);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                      1);
 
         // history
         //     /history/{uuid}
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                 2);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                9);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                 1);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                5);
         ITUtilStructures.assertHistory("/" + uuidRandom.toString(),                                                           0, HttpURLConnection.HTTP_NOT_FOUND);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AA1", Boolean.TRUE);
@@ -1538,11 +939,11 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AA3", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AA4", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AA5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB2", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB3", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB4", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB2", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB3", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB4", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AB5", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AC1", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AC2", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AC3", Boolean.FALSE);
@@ -1563,16 +964,16 @@ class StructuresDisciplineIT {
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AF3", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AF4", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DISCIPLINE, "AF5", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH5", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AG5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.DISCIPLINE, "AH5", Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
index 80218f6b..d3bde8fd 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java
@@ -79,19 +79,19 @@ class StructuresSubsystemIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupUuid  = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupUuid  = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Sys", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemUuid  = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemUuid  = structureElements[0].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                   2);
@@ -286,157 +286,38 @@ class StructuresSubsystemIT {
     }
 
     @Test
-    void createApprove() {
-        // test create and approve subsystem
-        //
-        // note
-        //     create in order to approve
+    void create() {
+        // test create subsystem
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
         StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommand = new StructureElementCommand(null, Type.SUBSYSTEM, systemUuid, "Ca", null, "description");
 
         structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+        structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
         structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
 
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Ca", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
 
         // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Ca", Boolean.TRUE);
         ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Ca", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(createdStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createCancel() {
-        // test create and cancel subsystem
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SUBSYSTEM, systemUuid, "Cc", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject subsystem
-        //
-        // note
-        //     create in order to reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SUBSYSTEM, systemUuid, "Cr", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
         ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
@@ -445,7 +326,7 @@ class StructuresSubsystemIT {
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -457,15 +338,15 @@ class StructuresSubsystemIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Cu", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate update
 
@@ -519,132 +400,36 @@ class StructuresSubsystemIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve subsystem
+    void update() {
+        // test update subsystem
         //
         // note
-        //     create, approve in order to update, approve
+        //     create in order to update
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Ua", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel subsystem
-        //
-        // note
-        //     create, approve in order to update, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Uc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject subsystem
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Ur", null, "description");
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        structureElementCommandUpdate.setDescription("description update check");
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
 
         // update
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -653,7 +438,7 @@ class StructuresSubsystemIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -661,15 +446,15 @@ class StructuresSubsystemIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Cd", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate delete
 
@@ -699,131 +484,40 @@ class StructuresSubsystemIT {
     }
 
     @Test
-    void deleteApprove() {
-        // test delete and approve subsystem
+    void delete() {
+        // test delete subsystem
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete, approve
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Da", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel subsystem
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Dc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
 
         // delete
         ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
         ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
-    void deleteReject() {
-        // test delete and reject subsystem
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Dr", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void readSearchHistoryApprove() {
-        // test read subsystem in various ways for create, approve
+    void readSearchHistoryStatus() {
+        // test read subsystem in various ways for create
         //     search
         //     latest
         //     history
@@ -832,429 +526,101 @@ class StructuresSubsystemIT {
         //     create (and more) to read (with content)
 
         StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int length = 0;
+        StructureElement structureElement  = null;
+        int count = 0;
 
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Rsha", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Rshs", 41, "description");
 
         // read (1)
-        length = ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).getListSize();
+        count = ITUtilStructures.assertRead("?type=SUBSYSTEM").getListSize();
 
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING",                            1, -1);
+        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=Rsha",              1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rsha",             0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rsha",            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rsha",             0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
+        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("?mnemonic=Sg",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Sys",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rsha",                                       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=Rsha&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rsha&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("?mnemonicPath=Sg",                                            1);
         ITUtilStructures.assertRead("?mnemonicPath=Sys",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rsha",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rsha",                                   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=Rsha&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rsha&statuses=APPROVED&deleted=false",      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rsha&statuses=APPROVED&deleted=false",   0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshs&statuses=APPROVED&deleted=false",      0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshs&statuses=APPROVED&deleted=false",   0);
 
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rsha",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rsha",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rsha", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshs",        Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshs",    Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rshs", Boolean.FALSE);
 
-        // approve
-        approvedStructureElement = ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
 
         // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).getListSize());
+        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=Rsha",              0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rsha",             1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rsha",            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rsha",             0);
+        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.assertFind("/" + approvedStructureElement.getUuid().toString());
+        ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
         ITUtilStructures.assertRead("?mnemonic=Sys",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
         ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rsha",                                       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=Rsha&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-Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rsha&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("?mnemonicPath=Sg",                                            1);
         ITUtilStructures.assertRead("?mnemonicPath=Sys",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rsha",                                      1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rsha",                                   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=Rsha&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rsha&statuses=APPROVED&deleted=false",      1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rsha&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.assertHistory("/" + approvedStructureElement.getUuid().toString(),        2);
+        ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rsha",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rsha",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rsha", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryCancel() {
-        // test read subsystem in various ways for create, cancel
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement   = null;
-        StructureElement cancelledStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Rshc", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING",                             1, -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=Rshc",               1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rshc",              0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rshc",              0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Sys",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                             0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Sys&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",             0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                         0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshc",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshc",                                    0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",         0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshc&statuses=APPROVED&deleted=false",       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshc&statuses=APPROVED&deleted=false",    0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),          1);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshc",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshc",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rshc", Boolean.FALSE);
-
-        // cancel
-        cancelledStructureElement = ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).getListSize());
-
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING",                             0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED",                            0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED",                           1, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED",                            0, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&mnemonic=Rshc",               0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rshc",              0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rshc",             1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rshc",              0);
-
-        ITUtilStructures.assertFind("/" + cancelledStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Sys",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                             0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Sys&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",             0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                         0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshc",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshc",                                    0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",         0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshc&statuses=APPROVED&deleted=false",       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshc&statuses=APPROVED&deleted=false",    0);
-
-        ITUtilStructures.assertHistory("/" + cancelledStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshc",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshc",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rshc", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryReject() {
-        // test read subsystem in various ways for create, reject
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement rejectedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Rshr", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING",                            1, -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=Rshr",              1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rshr",             0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rshr",             0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Sys",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Sys&statuses=APPROVED&deleted=false",               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshr",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshr",                                   0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys&statuses=APPROVED&deleted=false",           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshr&statuses=APPROVED&deleted=false",      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshr&statuses=APPROVED&deleted=false",   0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshr",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshr",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rshr", Boolean.FALSE);
-
-        // reject
-        rejectedStructureElement = ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SUBSYSTEM", 1, -1).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",                           1, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&mnemonic=Rshr",              0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=Rshr",             0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=Rshr",             1);
-
-        ITUtilStructures.assertFind("/" + rejectedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Sys",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Sys&statuses=APPROVED&deleted=false",               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys&statuses=APPROVED&deleted=false",            0);
-        ITUtilStructures.assertRead("?mnemonic=Sys-Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Sys-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshr",                                      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshr",                                   0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys&statuses=APPROVED&deleted=false",           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys&statuses=APPROVED&deleted=false",        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-Rshr&statuses=APPROVED&deleted=false",      0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys-Rshr&statuses=APPROVED&deleted=false",   0);
-
-        ITUtilStructures.assertHistory("/" + rejectedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshr",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshr",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rshr", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryStatusLatest1() {
-        // test read subsystem in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
-        //
-        // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
-        //         1 entry for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
-        //
-        //     exclude content (with latest) before latest
-        //     exclude content (with latest) after  latest (cancelled, rejected)
-        //     keep most recent content (without latest)   (to have most recent in line of uuid without latest)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
-
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "P1", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "C1", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateCancel(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "R1", 3, "description");
-        createdStructureElement = ITUtilStructures.assertCreateReject(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "A1", 4, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        uuid4 = createdStructureElement.getUuid();
-
-        // ----------------------------------------------------------------------------------------------------
-        // from first structure element
-        assertNotNull(uuid);
-
-        ITUtilStructures.assertFind("/" + uuid.toString());
-        ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
-
-        ITUtilStructures.assertRead("?mnemonic=P1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=C1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=R1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=A1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=P1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=C1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=R1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=A1&statuses=APPROVED&deleted=false", 1);
-
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       1);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      2);
-
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "P1",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "C1",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "R1",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "A1",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-P1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-C1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-R1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-A1",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-P1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-C1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-R1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-A1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Rshs",        Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Rshs",    Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Rshs", Boolean.FALSE);
     }
 
     @Test
@@ -1269,10 +635,9 @@ class StructuresSubsystemIT {
         //     entries with different statuses
         //
         //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
+        //     2 different lines  of uuid with combinations of status and latest
         //         9 entries for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
+        //         mnemonic - Ab, A9
         //
         //     exclude content (with latest) before latest
         //     exclude content (with latest) after  latest (cancelled, rejected)
@@ -1280,100 +645,54 @@ class StructuresSubsystemIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
+        StructureElement structureElement = null;
+        UUID uuid, uuid2 = null;
 
         // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "P9", null, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Ab", null, "description mnemonic Ab");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "C9", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid2 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "R9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid3 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "A9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid4 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "A9", 2, "description mnemonic A9");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid2 = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic A9 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1381,34 +700,20 @@ class StructuresSubsystemIT {
 
         ITUtilStructures.assertFind("/" + uuid.toString());
         ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
 
-        ITUtilStructures.assertRead("?mnemonic=P9",                                  2);
-        ITUtilStructures.assertRead("?mnemonic=C9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=R9",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=P9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=C9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=R9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
         ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
 
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       17);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      18);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
 
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "P9",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "C9",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "R9",        Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Ab",        Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "A9",        Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-P9",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-C9",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-R9",    Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-Ab",    Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-A9",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-P9", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-C9", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-R9", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-Ab", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sg-Sys-A9", Boolean.FALSE);
     }
 
@@ -1434,14 +739,18 @@ class StructuresSubsystemIT {
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         ResponsePageStructureElements response, response2 = null;
         UUID uuid = null;
         UUID uuid2 = null;
         UUID uuidRandom = UUID.randomUUID();
 
-        // create + approve
+        String description2 = "some other description";
+        String description3 = "more description";
+        String description4 = "yet another description";
+
+        // create
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AA1", 1, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AA2", 1, "description"),
@@ -1449,20 +758,27 @@ class StructuresSubsystemIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AA4", 1, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AA5", 1, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid = structureElements[0].getUuid();
 
-        // create + cancel
+        // create
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AB1", 2, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AB2", 2, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AB3", 2, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AB4", 2, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AB5", 2, "description")
+                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AB5", 2, "description"),
         };
-        ITUtilStructures.assertCreateCancel(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + reject
+        // create
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AC1", 3, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AC2", 3, "description"),
@@ -1470,9 +786,13 @@ class StructuresSubsystemIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AC4", 3, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AC5", 3, "description")
         };
-        ITUtilStructures.assertCreateReject(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // create
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AD1", 4, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AD2", 4, "description"),
@@ -1480,15 +800,19 @@ class StructuresSubsystemIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AD4", 4, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AD5", 4, "description")
         };
-        ITUtilStructures.assertCreate(structureElementCommandsCreate);
-
-        String description2 = "some other description";
-        String description3 = "more description";
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
+        // create
+        // update
+        // update
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AE1", 5, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AE2", 5, "description"),
@@ -1496,79 +820,56 @@ class StructuresSubsystemIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AE4", 5, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AE5", 5, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + approve
-        // delete + approve
+        // create
+        // update
+        // update
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AF1", 6, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AF2", 6, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AF3", 6, "description"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AF4", 6, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AF5", 6, "description")
+                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AF5", 6, "description"),
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteApprove(structureElementCommandsConfirm);
-
-        // create + approve
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AG1", 7, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AG2", 7, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AG3", 7, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AG4", 7, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AG5", 7, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        // 60 subsystem entries
-
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AH1", 8, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AH2", 8, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AH3", 8, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AH4", 8, "description"),
-                new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "AH5", 8, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid2 = approvedStructureElements[0].getUuid();
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid2 = structureElements[0].getUuid();
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // 85 subsystem entries
+        // 85 system group entries
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1588,49 +889,49 @@ class StructuresSubsystemIT {
         //             content for field in first and last items    -    always possible
         //             first and last items                         -    not always possible
 
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__",                                                         50);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&mnemonic=A__",                                        15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=APPROVED&mnemonic=A__",                                       25);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=CANCELLED&mnemonic=A__",                                       5);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=REJECTED&mnemonic=A__",                                        5);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      40);
+        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__",                                           35);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=PENDING&mnemonic=A__",                           5);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=APPROVED&mnemonic=A__",                         20);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=CANCELLED&mnemonic=A__",                         5);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=REJECTED&mnemonic=A__",                          5);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        25);
+        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__",                           10);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&deleted=true&statuses=APPROVED&mnemonic=A__",                           5);
+        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(),                                      45, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&parent=" + systemUuid.toString(),                                      30, -1);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&parent=" + uuid2.toString(),                                            0);
 
         ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonicPath=A__",                                                      0);
 
         ITUtilStructures.assertRead("?type=SUBSYSTEM&description=desc",                                                      0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&description=desc%",                                                    35, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&description=desc%",                                                    10, -1);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&description=sc",                                                        0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&description=sc%",                                                       0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&description=%sc",                                                       0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&description=%sc%",                                                     45, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&description=description",                                              35, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&description=%sc%",                                                     30, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&description=description",                                              10, -1);
 
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=test who",                                                         45, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=test who",                                                         30, -1);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&who=test",                                                              0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&who=who",                                                               0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=test%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%who",                                                             45, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%est%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%wh%",                                                             45, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=test%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%who",                                                             30, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%est%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%wh%",                                                             30, -1);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&who=wh%",                                                               0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&who=asdf",                                                              0);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&who=%asdf%",                                                            0);
@@ -1668,8 +969,8 @@ class StructuresSubsystemIT {
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(1, response.getList().get(0).getOrdering());
         assertTrue(response.getList().get(0).getMnemonic().startsWith("AA"));
-        assertEquals(8, response2.getList().get(0).getOrdering());
-        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AH"));
+        assertEquals(6, response2.getList().get(0).getOrdering());
+        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AF"));
 
         response  = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=true");
         response2 = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=false");
@@ -1692,27 +993,27 @@ class StructuresSubsystemIT {
                 || value2 != null && (StringUtils.equals(value2, value0) || StringUtils.equals(value2, value1)));
 
         // pagination
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=0&pageSize=100",                                     50);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=0&pageSize=100",                                     30);
         ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=1&pageSize=100",                                      0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=0&pageSize=50",                                      50);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=1&pageSize=50",                                       0);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=0&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=1&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=2&pageSize=20",                                      10);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=3&pageSize=20",                                       0);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=0&pageSize=30",                                      30);
+        ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&page=1&pageSize=30",                                       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);
 
         // pagination
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=15",   10);
-        ITUtilStructures.assertRead("?type=SUBSYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=15",    0);
+        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);
 
         // order by, pagination
-        response  = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=20",  20);
-        response2 = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=20", 10);
+        response  = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
+        response2 = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=12",  6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
-        response  = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=20", 20);
-        response2 = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=20",  10);
+        response  = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=12", 12);
+        response2 = ITUtilStructures.assertRead("?type=SUBSYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=12",   6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
 
         // uuid
@@ -1731,10 +1032,10 @@ class StructuresSubsystemIT {
         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);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=PENDING",                              0, -1);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=REJECTED",                             0, -1);
-        ITUtilStructures.assertRead("/children/" + systemUuid.toString() + "?statuses=CANCELLED,PENDING",                    0, -1);
+        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);
@@ -1743,32 +1044,32 @@ class StructuresSubsystemIT {
         // mnemonic
         //     ?mnemonic={mnemonic}
         ITUtilStructures.assertRead("?mnemonic=A",                                                                           0);
-        ITUtilStructures.assertRead("?mnemonic=A__",                                                                        15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AG_",                                                                        10);
-        ITUtilStructures.assertRead("?mnemonic=AG1",                                                                         2);
+        ITUtilStructures.assertRead("?mnemonic=A__",                                                                        30, -1);
+        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=AG_&statuses=APPROVED&deleted=false",                                         5);
-        ITUtilStructures.assertRead("?mnemonic=AG1&statuses=APPROVED&deleted=false",                                         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);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
         ITUtilStructures.assertRead("?mnemonicPath=A",                                                                       0);
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=AG_",                                                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1",                                                                     0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_",                                                                     0);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1",                                                                     0);
         ITUtilStructures.assertRead("?mnemonicPath=Sys-A%",                                                                 15, -1);
         ITUtilStructures.assertRead("?mnemonicPath=Sys-A",                                                                   0);
         ITUtilStructures.assertRead("?mnemonicPath=Sys-A__",                                                                15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-AG_",                                                                10);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-AG1",                                                                 2);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-AE_",                                                                 5);
+        ITUtilStructures.assertRead("?mnemonicPath=Sys-AE1",                                                                 1);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A%",                                                                   0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A",                                                                    0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A__",                                                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AG_",                                                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AG1",                                                                  0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE_",                                                                  0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-AE1",                                                                  0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys%",                                                                 0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys",                                                                  0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-Sys__",                                                                0);
@@ -1776,18 +1077,18 @@ class StructuresSubsystemIT {
         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=AG_&statuses=APPROVED&deleted=false",                                     0);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1&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-AG_&statuses=APPROVED&deleted=false",                                 5);
-        ITUtilStructures.assertRead("?mnemonicPath=Sys-AG1&statuses=APPROVED&deleted=false",                                 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-AG_&statuses=APPROVED&deleted=false",                                  0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AG1&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);
@@ -1796,10 +1097,10 @@ class StructuresSubsystemIT {
 
         // history
         //     /history/{uuid}
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                2);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                               9);
-        ITUtilStructures.assertHistory("/" + systemUuid.toString(),                                                          2);
-        ITUtilStructures.assertHistory("/" + systemGroupUuid.toString(),                                                     2);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                1);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                               5);
+        ITUtilStructures.assertHistory("/" + systemUuid.toString(),                                                          1);
+        ITUtilStructures.assertHistory("/" + systemGroupUuid.toString(),                                                     1);
         ITUtilStructures.assertHistory("/" + uuidRandom.toString(),                                                          0, HttpURLConnection.HTTP_NOT_FOUND);
 
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AA1", Boolean.TRUE);
@@ -1807,11 +1108,11 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AA3", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AA4", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AA5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB2", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB3", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB4", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB2", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB3", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB4", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AB5", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AC1", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AC2", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AC3", Boolean.FALSE);
@@ -1832,16 +1133,16 @@ class StructuresSubsystemIT {
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AF3", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AF4", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AF5", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH5", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AG5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys-AH5", Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
index 90b4de3b..45c54e04 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java
@@ -251,192 +251,66 @@ class StructuresSystemGroupIT {
     }
 
     @Test
-    void createApprove() {
-        // test create and approve system group
+    void create() {
+        // test create system group
         //
         // note
-        //     create in order to approve
         //     with and without mnemonic
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
         StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid, uuid2, uuid3 = null;
 
         structureElementCommand = new StructureElementCommand(null, Type.SYSTEMGROUP, null, "Ca", null, "description");
 
         structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+        structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
         structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Ca", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
 
         // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        uuid = createdStructureElement.getUuid();
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Ca", Boolean.TRUE);
         ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
+        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
 
         // create
-        structureElementCommandCreate = new StructureElementCommandCreate(
-                Type.SYSTEMGROUP, null,
-                null, null, "description2");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, null, null, "description2");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        uuid2 = structureElement.getUuid();
 
         // create
-        structureElementCommandCreate = new StructureElementCommandCreate(
-                Type.SYSTEMGROUP, null,
-                null, null, "description3");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, null, null, "description3");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        uuid3 = structureElement.getUuid();
 
         assertNotEquals(uuid, uuid2);
         assertNotEquals(uuid, uuid3);
         assertNotEquals(uuid2, uuid3);
     }
 
-    @Test
-    void createCancel() {
-        // test create and cancel system group
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SYSTEMGROUP, null, "Cc", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        structureElementCommandConfirm.setType(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setType(Type.SYSTEMGROUP);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject system group
-        //
-        // note
-        //     create in order to reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SYSTEMGROUP, null, "Cr", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
     @Test
     void checkUpdate() {
         // test conditions for update system group
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -447,15 +321,15 @@ class StructuresSystemGroupIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Cu", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate update
 
@@ -501,138 +375,36 @@ class StructuresSystemGroupIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve system group
+    void update() {
+        // test update system group
         //
         // note
-        //     create, approve in order to update, approve
+        //     create in order to update
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Ua", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        structureElementCommandUpdate.setDescription("description update approve check");
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel system group
-        //
-        // note
-        //     create, approve in order to update, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Uc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        structureElementCommandUpdate.setDescription("description update cancel check");
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject system group
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Ur", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
-        structureElementCommandUpdate.setDescription("description update reject check");
+        structureElementCommandUpdate.setDescription("description update check");
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
 
         // update
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -641,7 +413,7 @@ class StructuresSystemGroupIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -649,15 +421,15 @@ class StructuresSystemGroupIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Cd", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate delete
 
@@ -687,131 +459,40 @@ class StructuresSystemGroupIT {
     }
 
     @Test
-    void deleteApprove() {
-        // test delete and approve system group
+    void delete() {
+        // test delete system group
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Da", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel system group
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Dc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteReject() {
-        // test delete and reject system group
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Dr", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
 
         // delete
         ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
         ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
-    void readSearchHistoryApprove() {
-        // test read system group in various ways for create, approve
+    void readSearchHistoryStatus() {
+        // test read system group in various ways for create
         //     search
         //     latest
         //     history
@@ -820,289 +501,57 @@ class StructuresSystemGroupIT {
         //     create (and more) to read (with content)
 
         StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Rsha", 41, "description");
+        StructureElement structureElement  = null;
+        int count = 0;
 
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Rshs", 41, "description");
 
         // read (1)
-        length = ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).getListSize();
+        count = ITUtilStructures.assertRead("?type=SYSTEMGROUP").getListSize();
 
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING",                          1, -1);
+        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=Rsha",            1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rsha",           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rsha",          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rsha",           0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
+        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("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
 
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
 
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshs", Boolean.FALSE);
 
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rsha", Boolean.FALSE);
-
-        // approve
-        approvedStructureElement = ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
 
         // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).getListSize());
+        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=Rsha",            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rsha",           1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rsha",          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rsha",           0);
-
-        ITUtilStructures.assertFind("/" + approvedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              1);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          1);
-
-        ITUtilStructures.assertHistory("/" + approvedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rsha", Boolean.TRUE);
-    }
-
-    @Test
-    void readSearchHistoryCancel() {
-        // test read system group in various ways for create, cancel
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement   = null;
-        StructureElement cancelledStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Rshc", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING",                           1, -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=Rshc",             1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rshc",            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rshc",           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rshc",            0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),          1);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshc", Boolean.FALSE);
-
-        // cancel
-        cancelledStructureElement = ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).getListSize());
-
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING",                           0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED",                          0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED",                         1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED",                          0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&mnemonic=Rshc",             0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rshc",            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rshc",           1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rshc",            0);
-
-        ITUtilStructures.assertFind("/" + cancelledStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertHistory("/" + cancelledStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshc", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryReject() {
-        // test read system group in various ways for create, reject
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement rejectedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Rshr", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING",                          1, -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=Rshr",            1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rshr",          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rshr",           0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
+        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("?mnemonicPath=Rshr",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
 
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshr", Boolean.FALSE);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          1);
 
-        // reject
-        rejectedStructureElement = ITUtilStructures.assertReject(structureElementCommandConfirm);
+        ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SYSTEMGROUP", 1, -1).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",                         1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&mnemonic=Rshr",            0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=Rshr",           0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=Rshr",          0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=Rshr",           1);
-
-        ITUtilStructures.assertFind("/" + rejectedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-
-        ITUtilStructures.assertHistory("/" + rejectedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshr", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryStatusLatest1() {
-        // test read system group in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
-        //
-        // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
-        //         1 entry for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
-        //
-        //     exclude content (with latest) before latest
-        //     exclude content (with latest) after  latest (cancelled, rejected)
-        //     keep most recent content (without latest)   (to have most recent in line of uuid without latest)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
-
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "P1", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "C1", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateCancel(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "R1", 3, "description");
-        createdStructureElement = ITUtilStructures.assertCreateReject(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "A1", 4, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        uuid4 = createdStructureElement.getUuid();
-
-        // ----------------------------------------------------------------------------------------------------
-        // from first structure element
-        assertNotNull(uuid);
-
-        ITUtilStructures.assertFind("/" + uuid.toString());
-        ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
-
-        ITUtilStructures.assertRead("?mnemonic=P1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=C1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=R1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=A1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=P1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=C1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=R1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=A1&statuses=APPROVED&deleted=false", 1);
-
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       1);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      2);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "P1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "C1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "R1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "A1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Rshs", Boolean.TRUE);
     }
 
     @Test
@@ -1117,10 +566,9 @@ class StructuresSystemGroupIT {
         //     entries with different statuses
         //
         //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
+        //     2 different lines  of uuid with combinations of status and latest
         //         9 entries for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
+        //         no mnemonic, mnemonic - A9
         //
         //     exclude content (with latest) before latest
         //     exclude content (with latest) after  latest (cancelled, rejected)
@@ -1128,100 +576,54 @@ class StructuresSystemGroupIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
-
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "P9", null, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
+        StructureElement structureElement = null;
+        UUID uuid, uuid2 = null;
+
+        // a number of entries
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, null, null, "description no mnemonic");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description no mnemonic 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 7");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description no mnemonic 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+
+        // a number of entries
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "A9", 2, "description mnemonic A9");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid2 = structureElement.getUuid();
 
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "C9", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid2 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "R9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid3 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "A9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid4 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1229,26 +631,16 @@ class StructuresSystemGroupIT {
 
         ITUtilStructures.assertFind("/" + uuid.toString());
         ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
 
-        ITUtilStructures.assertRead("?mnemonic=P9",                                  2);
-        ITUtilStructures.assertRead("?mnemonic=C9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=R9",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab",                                  0);
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=P9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=C9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=R9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  0);
         ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
 
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       17);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      18);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
 
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "P9", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "C9", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "R9", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Ab", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "A9", Boolean.TRUE);
     }
 
@@ -1274,14 +666,18 @@ class StructuresSystemGroupIT {
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         ResponsePageStructureElements response, response2 = null;
         UUID uuid = null;
         UUID uuid2 = null;
         UUID uuidRandom = UUID.randomUUID();
 
-        // create + approve
+        String description2 = "some other description";
+        String description3 = "more description";
+        String description4 = "yet another description";
+
+        // create
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AA1", 1, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AA2", 1, "description"),
@@ -1289,10 +685,11 @@ class StructuresSystemGroupIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AA4", 1, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AA5", 1, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid = structureElements[0].getUuid();
 
-        // create + cancel
+        // create
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AB1", 2, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AB2", 2, "description"),
@@ -1300,9 +697,15 @@ class StructuresSystemGroupIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AB4", 2, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AB5", 2, "description"),
         };
-        ITUtilStructures.assertCreateCancel(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + reject
+        // create
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AC1", 3, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AC2", 3, "description"),
@@ -1310,9 +713,13 @@ class StructuresSystemGroupIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AC4", 3, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AC5", 3, "description")
         };
-        ITUtilStructures.assertCreateReject(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // create
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AD1", 4, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AD2", 4, "description"),
@@ -1320,15 +727,19 @@ class StructuresSystemGroupIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AD4", 4, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AD5", 4, "description")
         };
-        ITUtilStructures.assertCreate(structureElementCommandsCreate);
-
-        String description2 = "some other description";
-        String description3 = "more description";
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
+        // create
+        // update
+        // update
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AE1", 5, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AE2", 5, "description"),
@@ -1336,23 +747,28 @@ class StructuresSystemGroupIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AE4", 5, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AE5", 5, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + approve
-        // delete + approve
+        // create
+        // update
+        // update
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AF1", 6, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AF2", 6, "description"),
@@ -1360,52 +776,24 @@ class StructuresSystemGroupIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AF4", 6, "description"),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AF5", 6, "description"),
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteApprove(structureElementCommandsConfirm);
-
-        // create + approve
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AG1", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AG2", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AG3", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AG4", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AG5", 7, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        // 60 system group entries
-
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AH1", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AH2", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AH3", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AH4", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "AH5", 8, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid2 = approvedStructureElements[0].getUuid();
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid2 = structureElements[0].getUuid();
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // 85 system group entries
@@ -1428,23 +816,23 @@ class StructuresSystemGroupIT {
         //             content for field in first and last items    -    always possible
         //             first and last items                         -    not always possible
 
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__",                                                         50);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&mnemonic=A__",                                        15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=APPROVED&mnemonic=A__",                                       25);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=CANCELLED&mnemonic=A__",                                       5);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=REJECTED&mnemonic=A__",                                        5);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      40);
+        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__",                                           35);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=PENDING&mnemonic=A__",                           5);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=APPROVED&mnemonic=A__",                         20);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=CANCELLED&mnemonic=A__",                         5);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=REJECTED&mnemonic=A__",                          5);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        25);
+        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__",                           10);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&deleted=true&statuses=APPROVED&mnemonic=A__",                           5);
+        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);
@@ -1452,23 +840,23 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&parent=" + uuid2.toString(),                                            0);
 
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonicPath=A__",                                                     45, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonicPath=A__",                                                     30, -1);
 
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=desc",                                                      0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=desc%",                                                    35, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=desc%",                                                    10, -1);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=sc",                                                        0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=sc%",                                                       0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=%sc",                                                       0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=%sc%",                                                     45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=description",                                              35, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=%sc%",                                                     30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&description=description",                                              10, -1);
 
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=test who",                                                         45, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=test who",                                                         30, -1);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=test",                                                              0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=who",                                                               0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=test%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%who",                                                             45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%est%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%wh%",                                                             45, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=test%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%who",                                                             30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%est%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%wh%",                                                             30, -1);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=wh%",                                                               0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=asdf",                                                              0);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&who=%asdf%",                                                            0);
@@ -1480,22 +868,22 @@ class StructuresSystemGroupIT {
         //     use with care
         //         PARENT              - not for SYSTEMGROUP
         //         WHEN                - different for requested/processed
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=UUID&isAsc=true");
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=UUID&isAsc=false");
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=UUID&isAsc=true");
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=UUID&isAsc=false");
         assertTrue(response.getList().size() > 0);
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(response.getList().get(0).getUuid(),  response2.getList().get(response2.getList().size()-1).getUuid());
         assertEquals(response2.getList().get(0).getUuid(),  response.getList().get(response.getList().size()-1).getUuid());
 
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=PARENT&isAsc=true");
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=PARENT&isAsc=false");
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=PARENT&isAsc=true");
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=PARENT&isAsc=false");
         assertTrue(response.getList().size() > 0);
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(response.getList().get(0).getUuid(),  response2.getList().get(response2.getList().size()-1).getUuid());
         assertEquals(response2.getList().get(0).getUuid(),  response.getList().get(response.getList().size()-1).getUuid());
 
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=MNEMONIC&isAsc=true");
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=MNEMONIC&isAsc=false");
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=MNEMONIC&isAsc=true");
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=MNEMONIC&isAsc=false");
         assertTrue(response.getList().size() > 0);
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(response.getList().get(0).getMnemonic(),  response2.getList().get(response2.getList().size()-1).getMnemonic());
@@ -1507,18 +895,18 @@ class StructuresSystemGroupIT {
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(1, response.getList().get(0).getOrdering());
         assertTrue(response.getList().get(0).getMnemonic().startsWith("AA"));
-        assertEquals(8, response2.getList().get(0).getOrdering());
-        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AH"));
+        assertEquals(6, response2.getList().get(0).getOrdering());
+        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AF"));
 
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=true");
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=false");
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=DESCRIPTION&isAsc=true");
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=DESCRIPTION&isAsc=false");
         assertTrue(response.getList().size() > 0);
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(response.getList().get(0).getDescription(),  response2.getList().get(response2.getList().size()-1).getDescription());
         assertEquals(response2.getList().get(0).getDescription(),  response.getList().get(response.getList().size()-1).getDescription());
 
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=WHEN&isAsc=true");
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AF_&orderBy=WHEN&isAsc=false");
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=WHEN&isAsc=true");
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=AE_&orderBy=WHEN&isAsc=false");
         String value0 = response.getList().get(0).getWhen() != null ? response.getList().get(0).getWhen().toString() : null;
         String value1 = response.getList().get(1).getWhen() != null ? response.getList().get(1).getWhen().toString() : null;
         String value2 = response2.getList().get(response2.getList().size()-2).getWhen() != null ? response2.getList().get(response2.getList().size()-2).getWhen().toString() : null;
@@ -1531,27 +919,27 @@ class StructuresSystemGroupIT {
                 || value2 != null && (StringUtils.equals(value2, value0) || StringUtils.equals(value2, value1)));
 
         // pagination
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=0&pageSize=100",                                     50);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=0&pageSize=100",                                     30);
         ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=1&pageSize=100",                                      0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=0&pageSize=50",                                      50);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=1&pageSize=50",                                       0);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=0&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=1&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=2&pageSize=20",                                      10);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=3&pageSize=20",                                       0);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=0&pageSize=30",                                      30);
+        ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&page=1&pageSize=30",                                       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);
 
         // pagination
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=15",   10);
-        ITUtilStructures.assertRead("?type=SYSTEMGROUP&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=15",    0);
+        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);
 
         // order by, pagination
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=20",  20);
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=20", 10);
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=12",  6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
-        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=20", 20);
-        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=20",  10);
+        response  = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=12", 12);
+        response2 = ITUtilStructures.assertRead("?type=SYSTEMGROUP&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=12",   6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
 
         // uuid
@@ -1569,29 +957,29 @@ class StructuresSystemGroupIT {
         // mnemonic
         //     ?mnemonic={mnemonic}
         ITUtilStructures.assertRead("?mnemonic=A",                                                                             0);
-        ITUtilStructures.assertRead("?mnemonic=A__",                                                                          15, -1);
-        ITUtilStructures.assertRead("?mnemonic=AG_",                                                                          10);
-        ITUtilStructures.assertRead("?mnemonic=AG1",                                                                           2);
+        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=AG_&statuses=APPROVED&deleted=false",                                           5);
-        ITUtilStructures.assertRead("?mnemonic=AG1&statuses=APPROVED&deleted=false",                                           1);
+        ITUtilStructures.assertRead("?mnemonic=AE_&statuses=APPROVED&deleted=false",                                           5);
+        ITUtilStructures.assertRead("?mnemonic=AE1&statuses=APPROVED&deleted=false",                                           1);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
         ITUtilStructures.assertRead("?mnemonicPath=A",                                                                         0);
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                      15, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=AG_",                                                                      10);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1",                                                                       2);
+        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=AG_&statuses=APPROVED&deleted=false",                                       5);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1&statuses=APPROVED&deleted=false",                                       1);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_&statuses=APPROVED&deleted=false",                                       5);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1&statuses=APPROVED&deleted=false",                                       1);
 
         // history
         //     /history/{uuid}
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                  2);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                 9);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                                  1);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                                 5);
         ITUtilStructures.assertHistory("/" + uuidRandom.toString(),                                                            0, HttpURLConnection.HTTP_NOT_FOUND);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AA1", Boolean.TRUE);
@@ -1599,11 +987,11 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AA3", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AA4", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AA5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB2", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB3", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB4", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB2", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB3", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB4", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AB5", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AC1", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AC2", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AC3", Boolean.FALSE);
@@ -1624,16 +1012,16 @@ class StructuresSystemGroupIT {
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AF3", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AF4", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AF5", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH5", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AG5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "AH5", Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
index 055da053..2c14fedf 100644
--- a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
+++ b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java
@@ -78,13 +78,13 @@ class StructuresSystemIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupUuid  = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupUuid  = structureElements[0].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                   1);
@@ -271,158 +271,39 @@ class StructuresSystemIT {
     }
 
     @Test
-     void createApprove() {
-        // test create and approve system
-        //
-        // note
-        //     create in order to approve
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SYSTEM, systemGroupUuid, "Ca", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(createdStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createCancel() {
-        // test create and cancel system
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SYSTEM, systemGroupUuid, "Cc", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Cc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject system
-        //
-        // note
-        //     create in order to reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
-
-        structureElementCommand = new StructureElementCommand(null, Type.SYSTEM, systemGroupUuid, "Cr", null, "description");
-
-        structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
-        structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-        UUID uuid = structureElementCommandConfirm.getUuid();
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-        structureElementCommandConfirm.setUuid(uuid);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Cr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(uuid);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
+    void create() {
+       // test create system
+
+       StructureElementCommandCreate structureElementCommandCreate = null;
+       StructureElementCommandUpdate structureElementCommandUpdate = null;
+       StructureElementCommandConfirm structureElementCommandConfirm = null;
+       StructureElementCommand structureElementCommand = null;
+       StructureElement structureElement = null;
+
+       structureElementCommand = new StructureElementCommand(null, Type.SYSTEM, systemGroupUuid, "Ca", null, "description");
+
+       structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+       structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
+       structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
+
+       ITUtilStructures.assertExists(Type.SYSTEM, "Ca", Boolean.FALSE);
+       ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.TRUE);
+       ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+       ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+       ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
+
+       // create
+       structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+       structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+       structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+
+       ITUtilStructures.assertExists(Type.SYSTEM, "Ca", Boolean.TRUE);
+       ITUtilStructures.assertIsValidToCreate(Type.SYSTEM, "Ca", Boolean.FALSE);
+       ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+       ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+       ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
+       ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
+   }
 
     @Test
     void checkUpdate() {
@@ -430,7 +311,7 @@ class StructuresSystemIT {
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -442,15 +323,15 @@ class StructuresSystemIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Cu", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate update
 
@@ -504,132 +385,36 @@ class StructuresSystemIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve system
+    void update() {
+        // test update system
         //
         // note
-        //     create, approve in order to update, approve
+        //     create in order to update
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Ua", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel system
-        //
-        // note
-        //     create, approve in order to update, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Uc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // update
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject system
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Ur", null, "description");
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElement);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        structureElementCommandUpdate.setDescription("description update check");
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
 
         // update
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
-        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
-        ITUtilStructures.assertUpdate(structureElementCommandUpdate, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
     }
 
     @Test
@@ -638,7 +423,7 @@ class StructuresSystemIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -646,15 +431,15 @@ class StructuresSystemIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
         UUID uuid = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Cd", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-        uuid = approvedStructureElement.getUuid();
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
+        uuid = structureElement.getUuid();
 
         // validate delete
 
@@ -684,131 +469,40 @@ class StructuresSystemIT {
     }
 
     @Test
-    void deleteApprove() {
-        // test delete and approve system
+    void delete() {
+        // test delete system
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete, approve
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
+        StructureElement structureElement = null;
 
         structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Da", null, "description");
 
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel system
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Dc", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        // delete
-        ITUtilStructures.assertDelete(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.TRUE);
-        ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // cancel
-        ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.CANCEL, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertCancel(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-    }
-
-    @Test
-    void deleteReject() {
-        // test delete and reject system
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement approvedStructureElement = null;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Dr", null, "description");
-
-        // create, approve
-        approvedStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElement);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
 
         // delete
         ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.TRUE);
         ITUtilStructures.assertDelete(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
-
-        // reject
-        ITUtilStructures.assertReject(structureElementCommandConfirm);
-
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.REJECT, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertReject(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(approvedStructureElement.getUuid());
-        ITUtilStructures.assertReject(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
     }
 
     @Test
-    void readSearchHistoryApprove() {
-        // test read system in various ways for create, approve
+    void readSearchHistoryStatus() {
+        // test read system in various ways for create
         //     search
         //     latest
         //     history
@@ -817,347 +511,75 @@ class StructuresSystemIT {
         //     create (and more) to read (with content)
 
         StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Rsha", 41, "description");
+        StructureElement structureElement  = null;
+        int count = 0;
 
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Rshs", 41, "description");
 
         // read (1)
-        length = ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).getListSize();
+        count = ITUtilStructures.assertRead("?type=SYSTEM").getListSize();
 
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING",                               1, -1);
+        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=Rsha",                 1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rsha",                0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rsha",               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rsha",                0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
+        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("?mnemonic=Sg",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rsha",                                           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs",                                           0);
         ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rsha&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              0);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&statuses=APPROVED&deleted=false",           0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rsha",                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs",                                       0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rsha&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          0);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&statuses=APPROVED&deleted=false",       0);
 
-        ITUtilStructures.assertExists(Type.SYSTEM, "Rsha",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rsha", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "Rshs",    Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshs", Boolean.FALSE);
 
-        // approve
-        approvedStructureElement = ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        // create
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
 
         // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).getListSize());
+        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=Rsha",                 0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rsha",                1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rsha",               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rsha",                0);
-
-        ITUtilStructures.assertFind("/" + approvedStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rsha",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rsha&statuses=APPROVED&deleted=false",              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rsha&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha",                                          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rsha",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rsha&statuses=APPROVED&deleted=false",          1);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rsha&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + approvedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Rsha",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rsha", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryCancel() {
-        // test read system in various ways for create, cancel
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement   = null;
-        StructureElement cancelledStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Rshc", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING",                                1, -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=Rshc",                  1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rshc",                 0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rshc",                0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rshc",                 0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshc",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshc&statuses=APPROVED&deleted=false",            0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),          1);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Rshc",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshc", Boolean.FALSE);
-
-        // cancel
-        cancelledStructureElement = ITUtilStructures.assertCancel(structureElementCommandConfirm);
-
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).getListSize());
-
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING",                                0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED",                               0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED",                              1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED",                               0, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&mnemonic=Rshc",                  0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rshc",                 0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rshc",                1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rshc",                 0);
-
-        ITUtilStructures.assertFind("/" + cancelledStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc",                                               1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshc",                                            0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                 1);
-        ITUtilStructures.assertRead("?mnemonic=Rshc&statuses=APPROVED&deleted=false",               0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshc&statuses=APPROVED&deleted=false",            0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc",                                           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshc",                                        0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",             1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshc&statuses=APPROVED&deleted=false",           0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshc&statuses=APPROVED&deleted=false",        0);
-
-        ITUtilStructures.assertHistory("/" + cancelledStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Rshc",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshc", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryReject() {
-        // test read system in various ways for create, reject
-        //     search
-        //     latest
-        //     history
-        //
-        // note
-        //     create (and more) to read (with content)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElementCommandConfirm structureElementCommandConfirm = null;
-        StructureElement createdStructureElement  = null;
-        StructureElement rejectedStructureElement = null;
-        int length = 0;
-
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Rshr", 41, "description");
-
-        // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        // read (1)
-        length = ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).getListSize();
-
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING",                               1, -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=Rshr",                 1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rshr",                0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rshr",               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rshr",                0);
-
-        ITUtilStructures.assertFind("/" + createdStructureElement.getUuid().toString());
-
-        ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshr",                                           0);
-        ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshr&statuses=APPROVED&deleted=false",           0);
-
-        ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshr",                                       0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + createdStructureElement.getUuid().toString(),         1);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Rshr",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshr", Boolean.FALSE);
-
-        // reject
-        rejectedStructureElement = ITUtilStructures.assertReject(structureElementCommandConfirm);
+        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);
 
-        // read (2)
-        assertEquals(length, ITUtilStructures.assertRead("?type=SYSTEM", 1, -1).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",                              1, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&mnemonic=Rshr",                 0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=Rshr",                0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=Rshr",               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=Rshr",                1);
-
-        ITUtilStructures.assertFind("/" + rejectedStructureElement.getUuid().toString());
+        ITUtilStructures.assertFind("/" + structureElement.getUuid().toString());
 
         ITUtilStructures.assertRead("?mnemonic=Sg",                                                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr",                                              1);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshr",                                           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs",                                              1);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs",                                           0);
         ITUtilStructures.assertRead("?mnemonic=Sg&statuses=APPROVED&deleted=false",                1);
-        ITUtilStructures.assertRead("?mnemonic=Rshr&statuses=APPROVED&deleted=false",              0);
-        ITUtilStructures.assertRead("?mnemonic=Sg-Rshr&statuses=APPROVED&deleted=false",           0);
+        ITUtilStructures.assertRead("?mnemonic=Rshs&statuses=APPROVED&deleted=false",              1);
+        ITUtilStructures.assertRead("?mnemonic=Sg-Rshs&statuses=APPROVED&deleted=false",           0);
 
         ITUtilStructures.assertRead("?mnemonicPath=Sg",                                            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr",                                          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshr",                                       0);
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs",                                          1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs",                                       0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg&statuses=APPROVED&deleted=false",            1);
-        ITUtilStructures.assertRead("?mnemonicPath=Rshr&statuses=APPROVED&deleted=false",          0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshr&statuses=APPROVED&deleted=false",       0);
-
-        ITUtilStructures.assertHistory("/" + rejectedStructureElement.getUuid().toString(),        2);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "Rshr",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshr", Boolean.FALSE);
-    }
-
-    @Test
-    void readSearchHistoryStatusLatest1() {
-        // test read system in various ways
-        //     status
-        //     latest
-        //   ( deleted )
-        //     history
-        //
-        // note
-        //     entries with different statuses
-        //
-        //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
-        //         1 entry for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
-        //
-        //     exclude content (with latest) before latest
-        //     exclude content (with latest) after  latest (cancelled, rejected)
-        //     keep most recent content (without latest)   (to have most recent in line of uuid without latest)
-
-        StructureElementCommandCreate structureElementCommandCreate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
+        ITUtilStructures.assertRead("?mnemonicPath=Rshs&statuses=APPROVED&deleted=false",          1);
+        ITUtilStructures.assertRead("?mnemonicPath=Sg-Rshs&statuses=APPROVED&deleted=false",       0);
 
-        // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "P1", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        uuid = createdStructureElement.getUuid();
+        ITUtilStructures.assertHistory("/" + structureElement.getUuid().toString(),                1);
 
-        // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "C1", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateCancel(structureElementCommandCreate);
-        uuid2 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "R1", 3, "description");
-        createdStructureElement = ITUtilStructures.assertCreateReject(structureElementCommandCreate);
-        uuid3 = createdStructureElement.getUuid();
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "A1", 4, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        uuid4 = createdStructureElement.getUuid();
-
-        // ----------------------------------------------------------------------------------------------------
-        // from first structure element
-        assertNotNull(uuid);
-
-        ITUtilStructures.assertFind("/" + uuid.toString());
-        ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
-
-        ITUtilStructures.assertRead("?mnemonic=P1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=C1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=R1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=A1",                                 1);
-        ITUtilStructures.assertRead("?mnemonic=P1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=C1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=R1&statuses=APPROVED&deleted=false", 0);
-        ITUtilStructures.assertRead("?mnemonic=A1&statuses=APPROVED&deleted=false", 1);
-
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       1);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      2);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      2);
-
-        ITUtilStructures.assertExists(Type.SYSTEM, "P1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "C1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "R1",    Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "A1",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-P1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-C1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-R1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-A1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "Rshs",    Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Rshs", Boolean.FALSE);
     }
 
     @Test
@@ -1172,10 +594,9 @@ class StructuresSystemIT {
         //     entries with different statuses
         //
         //     create (and more) to read (with content)
-        //     4 different lines  of uuid with combinations of status and latest
+        //     2 different lines  of uuid with combinations of status and latest
         //         9 entries for each line of uuid
-        //         in particular different statuses for last entry in lines of uuid
-        //         mnemonic - P, C, R, A (pending, cancelled, rejected, approved)
+        //         mnemonic - Ab, A9
         //
         //     exclude content (with latest) before latest
         //     exclude content (with latest) after  latest (cancelled, rejected)
@@ -1183,100 +604,54 @@ class StructuresSystemIT {
 
         StructureElementCommandCreate structureElementCommandCreate = null;
         StructureElementCommandUpdate structureElementCommandUpdate = null;
-        StructureElement createdStructureElement = null;
-        UUID uuid, uuid2, uuid3, uuid4 = null;
+        StructureElement structureElement = null;
+        UUID uuid, uuid2 = null;
 
         // a number of entries for which the last entry has status PENDING
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "P9", null, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Ab", null, "description mnemonic Ab");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic Ab 9");
         ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // a number of entries for which the last entry has status CANCELLED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "C9", 2, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid2 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status REJECTED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "R9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid3 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-
-        // a number of entries for which the last entry has status APPROVED
-        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "A9", 1, "description");
-        createdStructureElement = ITUtilStructures.assertCreateApprove(structureElementCommandCreate);
-        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement);
-        uuid4 = createdStructureElement.getUuid();
-
-        structureElementCommandUpdate.setDescription("description 2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 3");
-        ITUtilStructures.assertUpdateCancel(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 4");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 5");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 6");
-        ITUtilStructures.assertUpdateReject(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 7");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 8");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
-        structureElementCommandUpdate.setDescription("description 9");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        structureElementCommandCreate = new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "A9", 2, "description mnemonic A9");
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        uuid2 = structureElement.getUuid();
+
+        structureElementCommandUpdate.setDescription("description mnemonic A9 2");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 3");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 4");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 5");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 6");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 7");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 8");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
+        structureElementCommandUpdate.setDescription("description mnemonic A9 9");
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1284,30 +659,18 @@ class StructuresSystemIT {
 
         ITUtilStructures.assertFind("/" + uuid.toString());
         ITUtilStructures.assertFind("/" + uuid2.toString());
-        ITUtilStructures.assertFind("/" + uuid3.toString());
-        ITUtilStructures.assertFind("/" + uuid4.toString());
 
-        ITUtilStructures.assertRead("?mnemonic=P9",                                  2);
-        ITUtilStructures.assertRead("?mnemonic=C9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=R9",                                  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab",                                  1);
         ITUtilStructures.assertRead("?mnemonic=A9",                                  1);
-        ITUtilStructures.assertRead("?mnemonic=P9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=C9&statuses=APPROVED&deleted=false",  1);
-        ITUtilStructures.assertRead("?mnemonic=R9&statuses=APPROVED&deleted=false",  1);
+        ITUtilStructures.assertRead("?mnemonic=Ab&statuses=APPROVED&deleted=false",  1);
         ITUtilStructures.assertRead("?mnemonic=A9&statuses=APPROVED&deleted=false",  1);
 
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                       17);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid3.toString(),                      18);
-        ITUtilStructures.assertHistory("/" + uuid4.toString(),                      18);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                        9);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                       9);
 
-        ITUtilStructures.assertExists(Type.SYSTEM, "P9",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "C9",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "R9",    Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "Ab",    Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM, "A9",    Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-P9", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-C9", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-R9", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "Sg-Ab", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM, "Sg-A9", Boolean.FALSE);
     }
 
@@ -1333,14 +696,18 @@ class StructuresSystemIT {
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         ResponsePageStructureElements response, response2 = null;
         UUID uuid = null;
         UUID uuid2 = null;
         UUID uuidRandom = UUID.randomUUID();
 
-        // create + approve
+        String description2 = "some other description";
+        String description3 = "more description";
+        String description4 = "yet another description";
+
+        // create
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AA1", 1, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AA2", 1, "description"),
@@ -1348,20 +715,27 @@ class StructuresSystemIT {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AA4", 1, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AA5", 1, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid = structureElements[0].getUuid();
 
-        // create + cancel
+        // create
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AB1", 2, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AB2", 2, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AB3", 2, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AB4", 2, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AB5", 2, "description")
+                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AB5", 2, "description"),
         };
-        ITUtilStructures.assertCreateCancel(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + reject
+        // create
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AC1", 3, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AC2", 3, "description"),
@@ -1369,9 +743,13 @@ class StructuresSystemIT {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AC4", 3, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AC5", 3, "description")
         };
-        ITUtilStructures.assertCreateReject(structureElementCommandsCreate);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
         // create
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AD1", 4, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AD2", 4, "description"),
@@ -1379,15 +757,19 @@ class StructuresSystemIT {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AD4", 4, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AD5", 4, "description")
         };
-        ITUtilStructures.assertCreate(structureElementCommandsCreate);
-
-        String description2 = "some other description";
-        String description3 = "more description";
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description2);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
+        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
+        // create
+        // update
+        // update
+        // update
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AE1", 5, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AE2", 5, "description"),
@@ -1395,79 +777,56 @@ class StructuresSystemIT {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AE4", 5, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AE5", 5, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
 
-        // create + approve
-        // delete + approve
+        // create
+        // update
+        // update
+        // update
+        // delete
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AF1", 6, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AF2", 6, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AF3", 6, "description"),
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AF4", 6, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AF5", 6, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteApprove(structureElementCommandsConfirm);
-
-        // create + approve
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AG1", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AG2", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AG3", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AG4", 7, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AG5", 7, "description")
+                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AF5", 6, "description"),
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        // 60 system entries
-
-        // create + approve
-        // update + approve
-        // update + approve
-        // delete + reject
-        // delete
-        structureElementCommandsCreate = new StructureElementCommandCreate[] {
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AH1", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AH2", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AH3", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AH4", 8, "description"),
-                new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "AH5", 8, "description")
-        };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        uuid2 = approvedStructureElements[0].getUuid();
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        uuid2 = structureElements[0].getUuid();
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description2);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
         for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
             structureElementCommandUpdate.setDescription(description3);
         }
-        approvedStructureElements = ITUtilStructures.assertUpdateApprove(structureElementCommandsUpdate);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-        ITUtilStructures.assertDeleteReject(structureElementCommandsConfirm);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        for (StructureElementCommandUpdate structureElementCommandUpdate : structureElementCommandsUpdate) {
+            structureElementCommandUpdate.setDescription(description4);
+        }
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        // 85 system entries
+        // 85 system group entries
 
         // ----------------------------------------------------------------------------------------------------
         // from first structure element
@@ -1487,48 +846,48 @@ class StructuresSystemIT {
         //             content for field in first and last items    -    always possible
         //             first and last items                         -    not always possible
 
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__",                                                         50);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&mnemonic=A__",                                        15);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=APPROVED&mnemonic=A__",                                       25);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=CANCELLED&mnemonic=A__",                                       5);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=REJECTED&mnemonic=A__",                                        5);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__",                      40);
+        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__",                                           35);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=PENDING&mnemonic=A__",                           5);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=APPROVED&mnemonic=A__",                         20);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=CANCELLED&mnemonic=A__",                         5);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=REJECTED&mnemonic=A__",                          5);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=false&statuses=PENDING&statuses=APPROVED&mnemonic=A__",        25);
+        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__",                           10);
-        ITUtilStructures.assertRead("?type=SYSTEM&deleted=true&statuses=APPROVED&mnemonic=A__",                           5);
+        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(),                                 45, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&parent=" + systemGroupUuid.toString(),                                 30, -1);
         ITUtilStructures.assertRead("?type=SYSTEM&parent=" + uuid.toString(),                                             0);
         ITUtilStructures.assertRead("?type=SYSTEM&parent=" + uuid2.toString(),                                            0);
 
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonicPath=A__",                                                     35);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonicPath=A__",                                                     30);
 
         ITUtilStructures.assertRead("?type=SYSTEM&description=desc",                                                      0);
-        ITUtilStructures.assertRead("?type=SYSTEM&description=desc%",                                                    35, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&description=desc%",                                                    10, -1);
         ITUtilStructures.assertRead("?type=SYSTEM&description=sc",                                                        0);
         ITUtilStructures.assertRead("?type=SYSTEM&description=sc%",                                                       0);
         ITUtilStructures.assertRead("?type=SYSTEM&description=%sc",                                                       0);
-        ITUtilStructures.assertRead("?type=SYSTEM&description=%sc%",                                                     45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&description=description",                                              35, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&description=%sc%",                                                     30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&description=description",                                              10, -1);
 
-        ITUtilStructures.assertRead("?type=SYSTEM&who=test who",                                                         45, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&who=test who",                                                         30, -1);
         ITUtilStructures.assertRead("?type=SYSTEM&who=test",                                                              0);
         ITUtilStructures.assertRead("?type=SYSTEM&who=who",                                                               0);
-        ITUtilStructures.assertRead("?type=SYSTEM&who=test%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&who=%who",                                                             45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&who=%est%",                                                            45, -1);
-        ITUtilStructures.assertRead("?type=SYSTEM&who=%wh%",                                                             45, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&who=test%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&who=%who",                                                             30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&who=%est%",                                                            30, -1);
+        ITUtilStructures.assertRead("?type=SYSTEM&who=%wh%",                                                             30, -1);
         ITUtilStructures.assertRead("?type=SYSTEM&who=wh%",                                                               0);
         ITUtilStructures.assertRead("?type=SYSTEM&who=asdf",                                                              0);
         ITUtilStructures.assertRead("?type=SYSTEM&who=%asdf%",                                                            0);
@@ -1566,8 +925,8 @@ class StructuresSystemIT {
         assertEquals(response.getList().size(),  response2.getList().size());
         assertEquals(1, response.getList().get(0).getOrdering());
         assertTrue(response.getList().get(0).getMnemonic().startsWith("AA"));
-        assertEquals(8, response2.getList().get(0).getOrdering());
-        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AH"));
+        assertEquals(6, response2.getList().get(0).getOrdering());
+        assertTrue(response2.getList().get(0).getMnemonic().startsWith("AF"));
 
         response  = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=true");
         response2 = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=AF_&orderBy=DESCRIPTION&isAsc=false");
@@ -1590,27 +949,27 @@ class StructuresSystemIT {
                 || value2 != null && (StringUtils.equals(value2, value0) || StringUtils.equals(value2, value1)));
 
         // pagination
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=0&pageSize=100",                                     50);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=0&pageSize=100",                                     30);
         ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=1&pageSize=100",                                      0);
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=0&pageSize=50",                                      50);
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=1&pageSize=50",                                       0);
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=0&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=1&pageSize=20",                                      20);
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=2&pageSize=20",                                      10);
-        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=3&pageSize=20",                                       0);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=0&pageSize=30",                                      30);
+        ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&page=1&pageSize=30",                                       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);
 
         // pagination
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=15",   15);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=15",   10);
-        ITUtilStructures.assertRead("?type=SYSTEM&statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=15",    0);
+        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);
 
         // order by, pagination
-        response  = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=20",  20);
-        response2 = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=20", 10);
+        response  = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=0&pageSize=12",  12);
+        response2 = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=2&pageSize=12",  6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
-        response  = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=20", 20);
-        response2 = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=20",  10);
+        response  = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=false&page=0&pageSize=12", 12);
+        response2 = ITUtilStructures.assertRead("?type=SYSTEM&mnemonic=A__&orderBy=WHEN&isAsc=true&page=2&pageSize=12",   6);
         assertEquals(response.getList().get(0).getWhen(), response2.getList().get(response2.getList().size()-1).getWhen());
 
         // uuid
@@ -1628,10 +987,10 @@ class StructuresSystemIT {
         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);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=PENDING",                      0, -1);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=REJECTED",                     0, -1);
-        ITUtilStructures.assertRead("/children/" + systemGroupUuid.toString() + "?statuses=CANCELLED,PENDING",            0, -1);
+        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);
@@ -1639,42 +998,42 @@ class StructuresSystemIT {
         // mnemonic
         //     ?mnemonic={mnemonic}
         ITUtilStructures.assertRead("?mnemonic=A",                                                                        0);
-        ITUtilStructures.assertRead("?mnemonic=A__",                                                                     45, -1);
-        ITUtilStructures.assertRead("?mnemonic=AG_",                                                                     10);
-        ITUtilStructures.assertRead("?mnemonic=AG1",                                                                      2);
+        ITUtilStructures.assertRead("?mnemonic=A__",                                                                     30, -1);
+        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=AG_&statuses=APPROVED&deleted=false",                                      5);
-        ITUtilStructures.assertRead("?mnemonic=AG1&statuses=APPROVED&deleted=false",                                      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);
 
         // mnemonic path
         //     ?mnemonicPath={mnemonicPath}
         ITUtilStructures.assertRead("?mnemonicPath=A",                                                                    0);
         ITUtilStructures.assertRead("?mnemonicPath=A__",                                                                 30, -1);
-        ITUtilStructures.assertRead("?mnemonicPath=AG_",                                                                 10);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1",                                                                  2);
+        ITUtilStructures.assertRead("?mnemonicPath=AE_",                                                                  5);
+        ITUtilStructures.assertRead("?mnemonicPath=AE1",                                                                  1);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A%",                                                                0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A",                                                                 0);
         ITUtilStructures.assertRead("?mnemonicPath=Sg-A__",                                                               0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AG_",                                                               0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AG1",                                                               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=AG_&statuses=APPROVED&deleted=false",                                  5);
-        ITUtilStructures.assertRead("?mnemonicPath=AG1&statuses=APPROVED&deleted=false",                                  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-AG_&statuses=APPROVED&deleted=false",                               0);
-        ITUtilStructures.assertRead("?mnemonicPath=Sg-AG1&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);
 
         // history
         //     /history/{uuid}
-        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                             2);
-        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                            9);
-        ITUtilStructures.assertHistory("/" + systemGroupUuid.toString(),                                                  2);
+        ITUtilStructures.assertHistory("/" + uuid.toString(),                                                             1);
+        ITUtilStructures.assertHistory("/" + uuid2.toString(),                                                            5);
+        ITUtilStructures.assertHistory("/" + systemGroupUuid.toString(),                                                  1);
         ITUtilStructures.assertHistory("/" + uuidRandom.toString(),                                                       0, HttpURLConnection.HTTP_NOT_FOUND);
 
         ITUtilStructures.assertExists(Type.SYSTEM, "AA1", Boolean.TRUE);
@@ -1682,11 +1041,11 @@ class StructuresSystemIT {
         ITUtilStructures.assertExists(Type.SYSTEM, "AA3", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AA4", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AA5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AB1", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AB2", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AB3", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AB4", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AB5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AB1", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AB2", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AB3", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AB4", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AB5", Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AC1", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AC2", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AC3", Boolean.FALSE);
@@ -1707,16 +1066,16 @@ class StructuresSystemIT {
         ITUtilStructures.assertExists(Type.SYSTEM, "AF3", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AF4", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM, "AF5", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AG1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AG2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AG3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AG4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AG5", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AH1", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AH2", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AH3", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AH4", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM, "AH5", Boolean.TRUE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AG1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AG2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AG3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AG4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AG5", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AH1", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AH2", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AH3", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AH4", Boolean.FALSE);
+        ITUtilStructures.assertExists(Type.SYSTEM, "AH5", Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java b/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
index 976a0d60..80cce4ed 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesInstanceIndexIT.java
@@ -146,29 +146,29 @@ class NamesInstanceIndexIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010PRL", null, "01 Phase Reference Line"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010",    null, "RFQ-010"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "N1U1",   null, "Power switch board 01. Electrical power cabinets")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystem010PRL = approvedStructureElements[0].getUuid();
-        subsystem010    = approvedStructureElements[1].getUuid();
-        subsystemN1U1   = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystem010PRL = structureElements[0].getUuid();
+        subsystem010    = structureElements[1].getUuid();
+        subsystemN1U1   = structureElements[2].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Cryo", null, "Cryogenics"),
@@ -180,15 +180,15 @@ class NamesInstanceIndexIT {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "WtrC", null, "Water Cooling"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "BMD",  null, "Beam Magnets and Deflectors")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineCryo = approvedStructureElements[0].getUuid();
-        disciplineEMR  = approvedStructureElements[1].getUuid();
-        disciplineHVAC = approvedStructureElements[2].getUuid();
-        disciplineProc = approvedStructureElements[3].getUuid();
-        disciplineSC   = approvedStructureElements[4].getUuid();
-        disciplineVac  = approvedStructureElements[5].getUuid();
-        disciplineWtrC = approvedStructureElements[6].getUuid();
-        disciplineBMD  = approvedStructureElements[7].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineCryo = structureElements[0].getUuid();
+        disciplineEMR  = structureElements[1].getUuid();
+        disciplineHVAC = structureElements[2].getUuid();
+        disciplineProc = structureElements[3].getUuid();
+        disciplineSC   = structureElements[4].getUuid();
+        disciplineVac  = structureElements[5].getUuid();
+        disciplineWtrC = structureElements[6].getUuid();
+        disciplineBMD  = structureElements[7].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineCryo, null, null, "empty"),
@@ -200,15 +200,15 @@ class NamesInstanceIndexIT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineWtrC, null, null, "empty"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineBMD,  null, null, "empty")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupCryo = approvedStructureElements[0].getUuid();
-        deviceGroupEMR  = approvedStructureElements[1].getUuid();
-        deviceGroupHVAC = approvedStructureElements[2].getUuid();
-        deviceGroupProc = approvedStructureElements[3].getUuid();
-        deviceGroupSC   = approvedStructureElements[4].getUuid();
-        deviceGroupVac  = approvedStructureElements[5].getUuid();
-        deviceGroupWtrC = approvedStructureElements[6].getUuid();
-        deviceGroupBMD  = approvedStructureElements[7].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupCryo = structureElements[0].getUuid();
+        deviceGroupEMR  = structureElements[1].getUuid();
+        deviceGroupHVAC = structureElements[2].getUuid();
+        deviceGroupProc = structureElements[3].getUuid();
+        deviceGroupSC   = structureElements[4].getUuid();
+        deviceGroupVac  = structureElements[5].getUuid();
+        deviceGroupWtrC = structureElements[6].getUuid();
+        deviceGroupBMD  = structureElements[7].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupCryo, "FS",  null, "Flow Switch"),
@@ -244,39 +244,39 @@ class NamesInstanceIndexIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupBMD,  "RFA", null, "RF Antenna"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupBMD,  "TT",  null, "Temperature Transmitter")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceType_Cryo_FS  = approvedStructureElements[0].getUuid();
-        deviceType_Cryo_IOC = approvedStructureElements[1].getUuid();
-        deviceType_Cryo_RFA = approvedStructureElements[2].getUuid();
-        deviceType_Cryo_TT  = approvedStructureElements[3].getUuid();
-        deviceType_EMR_FS   = approvedStructureElements[4].getUuid();
-        deviceType_EMR_IOC  = approvedStructureElements[5].getUuid();
-        deviceType_EMR_RFA  = approvedStructureElements[6].getUuid();
-        deviceType_EMR_TT   = approvedStructureElements[7].getUuid();
-        deviceType_HVAC_FS  = approvedStructureElements[8].getUuid();
-        deviceType_HVAC_IOC = approvedStructureElements[9].getUuid();
-        deviceType_HVAC_RFA = approvedStructureElements[10].getUuid();
-        deviceType_HVAC_TT  = approvedStructureElements[11].getUuid();
-        deviceType_Proc_FS  = approvedStructureElements[12].getUuid();
-        deviceType_Proc_IOC = approvedStructureElements[13].getUuid();
-        deviceType_Proc_RFA = approvedStructureElements[14].getUuid();
-        deviceType_Proc_TT  = approvedStructureElements[15].getUuid();
-        deviceType_SC_FS    = approvedStructureElements[16].getUuid();
-        deviceType_SC_IOC   = approvedStructureElements[17].getUuid();
-        deviceType_SC_RFA   = approvedStructureElements[18].getUuid();
-        deviceType_SC_TT    = approvedStructureElements[19].getUuid();
-        deviceType_Vac_FS   = approvedStructureElements[20].getUuid();
-        deviceType_Vac_IOC  = approvedStructureElements[21].getUuid();
-        deviceType_Vac_RFA  = approvedStructureElements[22].getUuid();
-        deviceType_Vac_TT   = approvedStructureElements[23].getUuid();
-        deviceType_WtrC_FS  = approvedStructureElements[24].getUuid();
-        deviceType_WtrC_IOC = approvedStructureElements[25].getUuid();
-        deviceType_WtrC_RFA = approvedStructureElements[26].getUuid();
-        deviceType_WtrC_TT  = approvedStructureElements[27].getUuid();
-        deviceType_BMD_FS   = approvedStructureElements[28].getUuid();
-        deviceType_BMD_IOC  = approvedStructureElements[29].getUuid();
-        deviceType_BMD_RFA  = approvedStructureElements[30].getUuid();
-        deviceType_BMD_TT   = approvedStructureElements[31].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceType_Cryo_FS  = structureElements[0].getUuid();
+        deviceType_Cryo_IOC = structureElements[1].getUuid();
+        deviceType_Cryo_RFA = structureElements[2].getUuid();
+        deviceType_Cryo_TT  = structureElements[3].getUuid();
+        deviceType_EMR_FS   = structureElements[4].getUuid();
+        deviceType_EMR_IOC  = structureElements[5].getUuid();
+        deviceType_EMR_RFA  = structureElements[6].getUuid();
+        deviceType_EMR_TT   = structureElements[7].getUuid();
+        deviceType_HVAC_FS  = structureElements[8].getUuid();
+        deviceType_HVAC_IOC = structureElements[9].getUuid();
+        deviceType_HVAC_RFA = structureElements[10].getUuid();
+        deviceType_HVAC_TT  = structureElements[11].getUuid();
+        deviceType_Proc_FS  = structureElements[12].getUuid();
+        deviceType_Proc_IOC = structureElements[13].getUuid();
+        deviceType_Proc_RFA = structureElements[14].getUuid();
+        deviceType_Proc_TT  = structureElements[15].getUuid();
+        deviceType_SC_FS    = structureElements[16].getUuid();
+        deviceType_SC_IOC   = structureElements[17].getUuid();
+        deviceType_SC_RFA   = structureElements[18].getUuid();
+        deviceType_SC_TT    = structureElements[19].getUuid();
+        deviceType_Vac_FS   = structureElements[20].getUuid();
+        deviceType_Vac_IOC  = structureElements[21].getUuid();
+        deviceType_Vac_RFA  = structureElements[22].getUuid();
+        deviceType_Vac_TT   = structureElements[23].getUuid();
+        deviceType_WtrC_FS  = structureElements[24].getUuid();
+        deviceType_WtrC_IOC = structureElements[25].getUuid();
+        deviceType_WtrC_RFA = structureElements[26].getUuid();
+        deviceType_WtrC_TT  = structureElements[27].getUuid();
+        deviceType_BMD_FS   = structureElements[28].getUuid();
+        deviceType_BMD_IOC  = structureElements[29].getUuid();
+        deviceType_BMD_RFA  = structureElements[30].getUuid();
+        deviceType_BMD_TT   = structureElements[31].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  53);
diff --git a/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java b/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
index 1edbb96c..5dee04ff 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesMultipleIT.java
@@ -90,43 +90,43 @@ class NamesMultipleIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010PRL", null, "01 Phase Reference Line")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystem010PRL = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystem010PRL = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Cryo", null, "Cryogenics")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineCryo = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineCryo = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineCryo, null, null, "empty")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupCryo = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupCryo = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupCryo, "FS", null, "Flow Switch")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceType_Cryo_FS = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceType_Cryo_FS = structureElements[0].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                   6);
diff --git a/src/test/java/org/openepics/names/docker/complex/NamesStructuresDeleteIT.java b/src/test/java/org/openepics/names/docker/complex/NamesStructuresDeleteIT.java
index ef78f77f..e33f6d1f 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesStructuresDeleteIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesStructuresDeleteIT.java
@@ -115,7 +115,7 @@ class NamesStructuresDeleteIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         NameElementCommandCreate[] nameElementCommandsCreate = null;
 
         String description = "description";
@@ -160,9 +160,9 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg1", null, description),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg2", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sg1 = approvedStructureElements[1].getUuid();
-        sg2 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sg1 = structureElements[1].getUuid();
+        sg2 = structureElements[2].getUuid();
 
         // system
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -170,10 +170,10 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.SYSTEM, sg1, "Sys12", null, description),
                 new StructureElementCommandCreate(Type.SYSTEM, sg1, "Sys13", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sys11 = approvedStructureElements[0].getUuid();
-        sys12 = approvedStructureElements[1].getUuid();
-        sys13 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sys11 = structureElements[0].getUuid();
+        sys12 = structureElements[1].getUuid();
+        sys13 = structureElements[2].getUuid();
 
         // subsystem
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -187,8 +187,8 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys13, "Sub132", null, description),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys13, "Sub133", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sub132 = approvedStructureElements[7].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sub132 = structureElements[7].getUuid();
 
         // system
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -196,10 +196,10 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.SYSTEM, sg2, "Sys22", null, description),
                 new StructureElementCommandCreate(Type.SYSTEM, sg2, "Sys23", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sys21 = approvedStructureElements[0].getUuid();
-        sys22 = approvedStructureElements[1].getUuid();
-        sys23 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sys21 = structureElements[0].getUuid();
+        sys22 = structureElements[1].getUuid();
+        sys23 = structureElements[2].getUuid();
 
         // subsystem
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -213,10 +213,10 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys23, "Sub232", null, description),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys23, "Sub233", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sub231 = approvedStructureElements[6].getUuid();
-        sub232 = approvedStructureElements[7].getUuid();
-        sub233 = approvedStructureElements[8].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sub231 = structureElements[6].getUuid();
+        sub232 = structureElements[7].getUuid();
+        sub233 = structureElements[8].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  27);
@@ -244,8 +244,8 @@ class NamesStructuresDeleteIT {
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Di2", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        di2 = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        di2 = structureElements[0].getUuid();
 
         // device group
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -253,10 +253,10 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, di2, "", null, description),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, di2, "", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        dg21 = approvedStructureElements[0].getUuid();
-        dg22 = approvedStructureElements[1].getUuid();
-        dg23 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        dg21 = structureElements[0].getUuid();
+        dg22 = structureElements[1].getUuid();
+        dg23 = structureElements[2].getUuid();
 
         // device type
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -270,16 +270,16 @@ class NamesStructuresDeleteIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, dg23, "Dt232", null, description),
                 new StructureElementCommandCreate(Type.DEVICETYPE, dg23, "Dt233", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        dt211 = approvedStructureElements[0].getUuid();
-        dt212 = approvedStructureElements[1].getUuid();
-        dt213 = approvedStructureElements[2].getUuid();
-        dt221 = approvedStructureElements[3].getUuid();
-        dt222 = approvedStructureElements[4].getUuid();
-        dt223 = approvedStructureElements[5].getUuid();
-        dt231 = approvedStructureElements[6].getUuid();
-        dt232 = approvedStructureElements[7].getUuid();
-        dt233 = approvedStructureElements[8].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        dt211 = structureElements[0].getUuid();
+        dt212 = structureElements[1].getUuid();
+        dt213 = structureElements[2].getUuid();
+        dt221 = structureElements[3].getUuid();
+        dt222 = structureElements[4].getUuid();
+        dt223 = structureElements[5].getUuid();
+        dt231 = structureElements[6].getUuid();
+        dt232 = structureElements[7].getUuid();
+        dt233 = structureElements[8].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  40);
@@ -417,7 +417,7 @@ class NamesStructuresDeleteIT {
 
         response = ITUtilStructures.assertFind("/" + sub132);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(response.getList().get(0));
-        ITUtilStructures.assertDeleteApprove(structureElementCommandConfirm);
+        ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys13-Sub132", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys13-Sub132", Boolean.TRUE);
@@ -448,7 +448,7 @@ class NamesStructuresDeleteIT {
 
         response = ITUtilStructures.assertFind("/" + sys12);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(response.getList().get(0));
-        ITUtilStructures.assertDeleteApprove(structureElementCommandConfirm);
+        ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
         ITUtilStructures.assertExists(Type.SYSTEM,    "Sys12",        Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM, "Sys12-Sub121", Boolean.FALSE);
@@ -498,7 +498,7 @@ class NamesStructuresDeleteIT {
 
         response = ITUtilStructures.assertFind("/" + sg1);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(response.getList().get(0));
-        ITUtilStructures.assertDeleteApprove(structureElementCommandConfirm);
+        ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "Sg1",          Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "Sys11",        Boolean.FALSE);
@@ -593,7 +593,7 @@ class NamesStructuresDeleteIT {
 
         response = ITUtilStructures.assertFind("/" + dt232);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(response.getList().get(0));
-        ITUtilStructures.assertDeleteApprove(structureElementCommandConfirm);
+        ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di2-Dt232", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,   "Di2-Dt232", Boolean.TRUE);
@@ -619,7 +619,7 @@ class NamesStructuresDeleteIT {
 
         response = ITUtilStructures.assertFind("/" + dg22);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(response.getList().get(0));
-        ITUtilStructures.assertDeleteApprove(structureElementCommandConfirm);
+        ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di2-Dt221", Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di2-Dt222", Boolean.FALSE);
@@ -658,7 +658,7 @@ class NamesStructuresDeleteIT {
 
         response = ITUtilStructures.assertFind("/" + di2);
         structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(response.getList().get(0));
-        ITUtilStructures.assertDeleteApprove(structureElementCommandConfirm);
+        ITUtilStructures.assertDelete(structureElementCommandConfirm);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "Di2",       Boolean.FALSE);
         ITUtilStructures.assertExists(Type.DEVICETYPE, "Di2-Dt211", Boolean.FALSE);
diff --git a/src/test/java/org/openepics/names/docker/complex/NamesStructuresUpdateIT.java b/src/test/java/org/openepics/names/docker/complex/NamesStructuresUpdateIT.java
index 6576fa55..e21418f8 100644
--- a/src/test/java/org/openepics/names/docker/complex/NamesStructuresUpdateIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/NamesStructuresUpdateIT.java
@@ -115,7 +115,7 @@ class NamesStructuresUpdateIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         NameElementCommandCreate[] nameElementCommandsCreate = null;
 
         String description = "description";
@@ -160,9 +160,9 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg1", null, description),
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg2", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sg1 = approvedStructureElements[1].getUuid();
-        sg2 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sg1 = structureElements[1].getUuid();
+        sg2 = structureElements[2].getUuid();
 
         // system
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -170,10 +170,10 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.SYSTEM, sg1, "Sys12", null, description),
                 new StructureElementCommandCreate(Type.SYSTEM, sg1, "Sys13", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sys11 = approvedStructureElements[0].getUuid();
-        sys12 = approvedStructureElements[1].getUuid();
-        sys13 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sys11 = structureElements[0].getUuid();
+        sys12 = structureElements[1].getUuid();
+        sys13 = structureElements[2].getUuid();
 
         // subsystem
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -187,8 +187,8 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys13, "Sub132", null, description),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys13, "Sub133", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sub132 = approvedStructureElements[7].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sub132 = structureElements[7].getUuid();
 
         // system
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -196,10 +196,10 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.SYSTEM, sg2, "Sys22", null, description),
                 new StructureElementCommandCreate(Type.SYSTEM, sg2, "Sys23", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sys21 = approvedStructureElements[0].getUuid();
-        sys22 = approvedStructureElements[1].getUuid();
-        sys23 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sys21 = structureElements[0].getUuid();
+        sys22 = structureElements[1].getUuid();
+        sys23 = structureElements[2].getUuid();
 
         // subsystem
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -213,10 +213,10 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys23, "Sub232", null, description),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, sys23, "Sub233", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        sub231 = approvedStructureElements[6].getUuid();
-        sub232 = approvedStructureElements[7].getUuid();
-        sub233 = approvedStructureElements[8].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        sub231 = structureElements[6].getUuid();
+        sub232 = structureElements[7].getUuid();
+        sub233 = structureElements[8].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  27);
@@ -244,8 +244,8 @@ class NamesStructuresUpdateIT {
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Di2", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        di2 = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        di2 = structureElements[0].getUuid();
 
         // device group
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -253,10 +253,10 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, di2, "", null, description),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, di2, "", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        dg21 = approvedStructureElements[0].getUuid();
-        dg22 = approvedStructureElements[1].getUuid();
-        dg23 = approvedStructureElements[2].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        dg21 = structureElements[0].getUuid();
+        dg22 = structureElements[1].getUuid();
+        dg23 = structureElements[2].getUuid();
 
         // device type
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
@@ -270,16 +270,16 @@ class NamesStructuresUpdateIT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, dg23, "Dt232", null, description),
                 new StructureElementCommandCreate(Type.DEVICETYPE, dg23, "Dt233", null, description)
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        dt211 = approvedStructureElements[0].getUuid();
-        dt212 = approvedStructureElements[1].getUuid();
-        dt213 = approvedStructureElements[2].getUuid();
-        dt221 = approvedStructureElements[3].getUuid();
-        dt222 = approvedStructureElements[4].getUuid();
-        dt223 = approvedStructureElements[5].getUuid();
-        dt231 = approvedStructureElements[6].getUuid();
-        dt232 = approvedStructureElements[7].getUuid();
-        dt233 = approvedStructureElements[8].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        dt211 = structureElements[0].getUuid();
+        dt212 = structureElements[1].getUuid();
+        dt213 = structureElements[2].getUuid();
+        dt221 = structureElements[3].getUuid();
+        dt222 = structureElements[4].getUuid();
+        dt223 = structureElements[5].getUuid();
+        dt231 = structureElements[6].getUuid();
+        dt232 = structureElements[7].getUuid();
+        dt233 = structureElements[8].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  40);
@@ -411,12 +411,12 @@ class NamesStructuresUpdateIT {
         response = ITUtilStructures.assertFind("/" + sub132);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(response.getList().get(0));
         structureElementCommandUpdate.setDescription("asdf");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertExists("Sys13-Su132",    Boolean.FALSE);
 
         structureElementCommandUpdate.setMnemonic("Su132");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertRead("", count);
 
@@ -441,7 +441,7 @@ class NamesStructuresUpdateIT {
         response = ITUtilStructures.assertFind("/" + sys12);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(response.getList().get(0));
         structureElementCommandUpdate.setDescription("asdf");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertExists("Sy12",           Boolean.FALSE);
         ITUtilNames.assertExists("Sy12-Sub121",    Boolean.FALSE);
@@ -449,7 +449,7 @@ class NamesStructuresUpdateIT {
         ITUtilNames.assertExists("Sy12-Sub123",    Boolean.FALSE);
 
         structureElementCommandUpdate.setMnemonic("Sy12");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertRead("", count);
 
@@ -477,12 +477,12 @@ class NamesStructuresUpdateIT {
         response = ITUtilStructures.assertFind("/" + sg1);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(response.getList().get(0));
         structureElementCommandUpdate.setDescription("asdf");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertExists("S1",             Boolean.FALSE);
 
         structureElementCommandUpdate.setMnemonic("S1");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertRead("", count);
 
@@ -536,12 +536,12 @@ class NamesStructuresUpdateIT {
         response = ITUtilStructures.assertFind("/" + dt232);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(response.getList().get(0));
         structureElementCommandUpdate.setDescription("asdf");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertExists("Sys23-Sub232:Di2-D232-232",  Boolean.FALSE);
 
         structureElementCommandUpdate.setMnemonic("D232");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertRead("", count);
 
@@ -562,7 +562,7 @@ class NamesStructuresUpdateIT {
         response = ITUtilStructures.assertFind("/" + dg22);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(response.getList().get(0));
         structureElementCommandUpdate.setDescription("asdf");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertRead("", count);
 
@@ -581,7 +581,7 @@ class NamesStructuresUpdateIT {
         response = ITUtilStructures.assertFind("/" + di2);
         structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(response.getList().get(0));
         structureElementCommandUpdate.setDescription("asdf");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertExists("Sg2:D2-Dt211-211",           Boolean.FALSE);
         ITUtilNames.assertExists("Sg2:D2-Dt212-212",           Boolean.FALSE);
@@ -594,7 +594,7 @@ class NamesStructuresUpdateIT {
         ITUtilNames.assertExists("Sys23-Sub233:D2-Dt233-233",  Boolean.FALSE);
 
         structureElementCommandUpdate.setMnemonic("D2");
-        ITUtilStructures.assertUpdateApprove(structureElementCommandUpdate);
+        ITUtilStructures.assertUpdate(structureElementCommandUpdate);
 
         ITUtilNames.assertRead("", count);
 
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java b/src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java
index 4f434bd0..316eed94 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java
@@ -133,19 +133,19 @@ class StructuresLevel3IT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Acc", null, "Accelerator. The ESS Linear Accelerator")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupAcc = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupAcc = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupAcc, "RFQ", null, "Radio Frequency Quadrupole")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemRFQ = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemRFQ = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Cryo", null, "Cryogenics"),
@@ -157,15 +157,15 @@ class StructuresLevel3IT {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "WtrC", null, "Water Cooling"),
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "BMD",  null, "Beam Magnets and Deflectors")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineCryo = approvedStructureElements[0].getUuid();
-        disciplineEMR  = approvedStructureElements[1].getUuid();
-        disciplineHVAC = approvedStructureElements[2].getUuid();
-        disciplineProc = approvedStructureElements[3].getUuid();
-        disciplineSC   = approvedStructureElements[4].getUuid();
-        disciplineVac  = approvedStructureElements[5].getUuid();
-        disciplineWtrC = approvedStructureElements[6].getUuid();
-        disciplineBMD  = approvedStructureElements[7].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineCryo = structureElements[0].getUuid();
+        disciplineEMR  = structureElements[1].getUuid();
+        disciplineHVAC = structureElements[2].getUuid();
+        disciplineProc = structureElements[3].getUuid();
+        disciplineSC   = structureElements[4].getUuid();
+        disciplineVac  = structureElements[5].getUuid();
+        disciplineWtrC = structureElements[6].getUuid();
+        disciplineBMD  = structureElements[7].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineCryo, null, null, "empty"),
@@ -177,15 +177,15 @@ class StructuresLevel3IT {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineWtrC, null, null, "empty"),
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineBMD,  null, null, "empty")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupCryo = approvedStructureElements[0].getUuid();
-        deviceGroupEMR  = approvedStructureElements[1].getUuid();
-        deviceGroupHVAC = approvedStructureElements[2].getUuid();
-        deviceGroupProc = approvedStructureElements[3].getUuid();
-        deviceGroupSC   = approvedStructureElements[4].getUuid();
-        deviceGroupVac  = approvedStructureElements[5].getUuid();
-        deviceGroupWtrC = approvedStructureElements[6].getUuid();
-        deviceGroupBMD  = approvedStructureElements[7].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupCryo = structureElements[0].getUuid();
+        deviceGroupEMR  = structureElements[1].getUuid();
+        deviceGroupHVAC = structureElements[2].getUuid();
+        deviceGroupProc = structureElements[3].getUuid();
+        deviceGroupSC   = structureElements[4].getUuid();
+        deviceGroupVac  = structureElements[5].getUuid();
+        deviceGroupWtrC = structureElements[6].getUuid();
+        deviceGroupBMD  = structureElements[7].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                  18);
@@ -207,12 +207,8 @@ class StructuresLevel3IT {
 
     @Test
     void createSubsystem() {
-        // test create and approve subsystem
-        //     all create, then all approve
-        //
-        // note
-        //     create in order to approve
-        //     all create first, all approve separately after all create
+        // test create subsystem
+        //     all create
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElement[] approvedStructureElements = null;
@@ -222,7 +218,7 @@ class StructuresLevel3IT {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "010",    null, "RFQ-010"),
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemRFQ, "N1U1",   null, "Power switch board 01. Electrical power cabinets")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
+        approvedStructureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
         subsystem010PRL = approvedStructureElements[0].getUuid();
         subsystem010    = approvedStructureElements[1].getUuid();
         subsystemN1U1   = approvedStructureElements[2].getUuid();
@@ -234,12 +230,8 @@ class StructuresLevel3IT {
 
     @Test
     void createDeviceType() {
-        // test create and approve device type
-        //     all create, then all approve
-        //
-        // note
-        //     create in order to approve
-        //     all create first, all approve separately after all create
+        // test create device type
+        //     all create
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElement[] approvedStructureElements = null;
@@ -278,7 +270,7 @@ class StructuresLevel3IT {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupBMD,  "RFA", null, "RF Antenna"),
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupBMD,  "TT",  null, "Temperature Transmitter")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
+        approvedStructureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
         deviceType_Cryo_FS  = approvedStructureElements[0].getUuid();
         deviceType_Cryo_IOC = approvedStructureElements[1].getUuid();
         deviceType_Cryo_RFA = approvedStructureElements[2].getUuid();
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java
index 5b12530f..6af8f47f 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresMultipleIT.java
@@ -81,43 +81,43 @@ class StructuresMultipleIT {
         // check content
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEMGROUP, null, "Sg", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemGroupUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemGroupUuid = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SYSTEM, systemGroupUuid, "Sys", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        systemUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        systemUuid = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.SUBSYSTEM, systemUuid, "Sub", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        subsystemUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        subsystemUuid = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DISCIPLINE, null, "Di", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        disciplineUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        disciplineUuid = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICEGROUP, disciplineUuid, null, null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceGroupUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceGroupUuid = structureElements[0].getUuid();
 
         structureElementCommandsCreate = new StructureElementCommandCreate[] {
                 new StructureElementCommandCreate(Type.DEVICETYPE, deviceGroupUuid, "Dt", null, "description")
         };
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        deviceTypeUuid = approvedStructureElements[0].getUuid();
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        deviceTypeUuid = structureElements[0].getUuid();
 
         // check content
         ITUtilStructures.assertRead("",                   6);
@@ -200,9 +200,6 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
         structureElementCommandsCreate[1].setType(null);
         ITUtilStructures.assertValidate(structureElementCommandsCreate, StructureCommand.CREATE, Boolean.FALSE);
@@ -230,18 +227,14 @@ class StructuresMultipleIT {
     }
 
     @Test
-    void createApprove() {
-        // test create and approve subsystem
-        //
-        // note
-        //     create in order to approve
+    void create() {
+        // test create subsystem
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
         StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] createdStructureElements = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommands = new StructureElementCommand[] {
                 new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgCa",  null, "description"),
@@ -271,40 +264,13 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        createdStructureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
-        assertNotNull(createdStructureElements);
-        assertEquals(6, createdStructureElements.length);
 
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCa",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCa",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCa", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCa",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCa",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCa",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCa",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCa",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCa", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCa",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCa",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        assertNotNull(structureElements);
+        assertEquals(6, structureElements.length);
 
-        approvedStructureElements = ITUtilStructures.assertApprove(structureElementCommandsConfirm);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCa",      Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "SysCa",     Boolean.TRUE);
@@ -322,205 +288,6 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-    }
-
-    @Test
-    void createCancel() {
-        // test create and cancel subsystem
-        //
-        // note
-        //     create in order to cancel
-
-        StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
-        StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] createdStructureElements = null;
-        StructureElement[] cancelledStructureElements = null;
-
-        structureElementCommands = new StructureElementCommand[] {
-                new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgCc",  null, "description"),
-                new StructureElementCommand(null, Type.SYSTEM,      systemGroupUuid, "SysCc", null, "description"),
-                new StructureElementCommand(null, Type.SUBSYSTEM,   systemUuid,      "SubCc", null, "description"),
-                new StructureElementCommand(null, Type.DISCIPLINE,  null,            "DiCc",  null, "description"),
-                new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "",      null, "description"),
-                new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "DtCc",  null, "description")
-        };
-        structureElementCommandsCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommands);
-        structureElementCommandsUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommands);
-        structureElementCommandsConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommands);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCc", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCc",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCc",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCc", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCc",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        createdStructureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
-        assertNotNull(createdStructureElements);
-        assertEquals(6, createdStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCc", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCc",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCc",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCc", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCc",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        cancelledStructureElements = ITUtilStructures.assertCancel(structureElementCommandsConfirm);
-        assertNotNull(cancelledStructureElements);
-        assertEquals(6, cancelledStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCc", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCc",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCc",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCc", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCc",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-    }
-
-    @Test
-    void createReject() {
-        // test create and reject subsystem
-        //
-        // note
-        //     create in order to reject
-
-        StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
-        StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] createdStructureElements = null;
-        StructureElement[] rejectedStructureElements = null;
-
-        structureElementCommands = new StructureElementCommand[] {
-                new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgCr",  null, "description"),
-                new StructureElementCommand(null, Type.SYSTEM,      systemGroupUuid, "SysCr", null, "description"),
-                new StructureElementCommand(null, Type.SUBSYSTEM,   systemUuid,      "SubCr", null, "description"),
-                new StructureElementCommand(null, Type.DISCIPLINE,  null,            "DiCr",  null, "description"),
-                new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "",      null, "description"),
-                new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "DtCr",  null, "description")
-        };
-        structureElementCommandsCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommands);
-        structureElementCommandsUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommands);
-        structureElementCommandsConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommands);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCr", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCr",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCr",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCr", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCr",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        createdStructureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
-        assertNotNull(createdStructureElements);
-        assertEquals(6, createdStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCr", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCr",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCr",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCr", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCr",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        rejectedStructureElements = ITUtilStructures.assertReject(structureElementCommandsConfirm);
-        assertNotNull(rejectedStructureElements);
-        assertEquals(6, rejectedStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysCr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubCr", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiCr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtCr",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgCr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysCr",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubCr", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiCr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpCr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtCr",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
     }
 
     @Test
@@ -529,7 +296,7 @@ class StructuresMultipleIT {
         //     not update
         //
         // note
-        //     create, approve in order to update
+        //     create in order to update
         //
         // validate update
         //     uuid
@@ -543,7 +310,7 @@ class StructuresMultipleIT {
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
         StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         UUID uuid = null;
         String value = null;
 
@@ -575,16 +342,13 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        assertNotNull(structureElements);
+        assertEquals(6, structureElements.length);
 
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCu",      Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "SysCu",     Boolean.TRUE);
@@ -602,11 +366,8 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
-        uuid = approvedStructureElements[1].getUuid();
+        uuid = structureElements[1].getUuid();
         structureElementCommandsUpdate[1].setUuid(null);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate, StructureCommand.UPDATE, Boolean.FALSE);
         structureElementCommandsUpdate[1].setUuid(uuid);
@@ -638,18 +399,17 @@ class StructuresMultipleIT {
     }
 
     @Test
-    void updateApprove() {
-        // test update and approve subsystem
+    void update() {
+        // test update subsystem
         //
         // note
-        //     create, approve in order to update, approve
+        //     create in order to update
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
         StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
-        StructureElement[] updatedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommands = new StructureElementCommand[] {
                 new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgUa",  null, "description"),
@@ -679,36 +439,13 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUa",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUa",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUa", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUa",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUa",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUa",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUa", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUa",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.FALSE);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        assertNotNull(structureElements);
+        assertEquals(6, structureElements.length);
 
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
 
         structureElementCommandsUpdate[0].setDescription("0");
         structureElementCommandsUpdate[1].setDescription("1");
@@ -733,37 +470,10 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
-        updatedStructureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
-        assertNotNull(updatedStructureElements);
-        assertEquals(6, updatedStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUa",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUa",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUa", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUa",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUa",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUa",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUa", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUa",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUa",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        approvedStructureElements = ITUtilStructures.assertApprove(structureElementCommandsConfirm);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
+        structureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
+        assertNotNull(structureElements);
+        assertEquals(6, structureElements.length);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUa",      Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "SysUa",     Boolean.TRUE);
@@ -781,309 +491,6 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-    }
-
-    @Test
-    void updateCancel() {
-        // test update and cancel subsystem
-        //
-        // note
-        //     create, approve in order to update, cancel
-
-        StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
-        StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
-        StructureElement[] updatedStructureElements = null;
-        StructureElement[] cancelledStructureElements = null;
-
-        structureElementCommands = new StructureElementCommand[] {
-                new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgUc",  null, "description"),
-                new StructureElementCommand(null, Type.SYSTEM,      systemGroupUuid, "SysUc", null, "description"),
-                new StructureElementCommand(null, Type.SUBSYSTEM,   systemUuid,      "SubUc", null, "description"),
-                new StructureElementCommand(null, Type.DISCIPLINE,  null,            "DiUc",  null, "description"),
-                new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "",      null, "description"),
-                new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "DtUc",  null, "description")
-        };
-        structureElementCommandsCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommands);
-        structureElementCommandsUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommands);
-        structureElementCommandsConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommands);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUc",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        structureElementCommandsUpdate[0].setDescription("0");
-        structureElementCommandsUpdate[1].setDescription("1");
-        structureElementCommandsUpdate[2].setDescription("2");
-        structureElementCommandsUpdate[3].setDescription("3");
-        structureElementCommandsUpdate[4].setDescription("4");
-        structureElementCommandsUpdate[5].setDescription("5");
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        updatedStructureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
-        assertNotNull(updatedStructureElements);
-        assertEquals(6, updatedStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        cancelledStructureElements = ITUtilStructures.assertCancel(structureElementCommandsConfirm);
-        assertNotNull(cancelledStructureElements);
-        assertEquals(6, cancelledStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-    }
-
-    @Test
-    void updateReject() {
-        // test update and reject subsystem
-        //
-        // note
-        //     create, approve in order to update, reject
-
-        StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
-        StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
-        StructureElement[] updatedStructureElements = null;
-        StructureElement[] rejectedStructureElements = null;
-
-        structureElementCommands = new StructureElementCommand[] {
-                new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgUr",  null, "description"),
-                new StructureElementCommand(null, Type.SYSTEM,      systemGroupUuid, "SysUr", null, "description"),
-                new StructureElementCommand(null, Type.SUBSYSTEM,   systemUuid,      "SubUr", null, "description"),
-                new StructureElementCommand(null, Type.DISCIPLINE,  null,            "DiUr",  null, "description"),
-                new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "",      null, "description"),
-                new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "DtUr",  null, "description")
-        };
-        structureElementCommandsCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommands);
-        structureElementCommandsUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommands);
-        structureElementCommandsConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommands);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUr",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        structureElementCommandsUpdate[0].setDescription("0");
-        structureElementCommandsUpdate[1].setDescription("1");
-        structureElementCommandsUpdate[2].setDescription("2");
-        structureElementCommandsUpdate[3].setDescription("3");
-        structureElementCommandsUpdate[4].setDescription("4");
-        structureElementCommandsUpdate[5].setDescription("5");
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        updatedStructureElements = ITUtilStructures.assertUpdate(structureElementCommandsUpdate);
-        assertNotNull(updatedStructureElements);
-        assertEquals(6, updatedStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        rejectedStructureElements = ITUtilStructures.assertReject(structureElementCommandsConfirm);
-        assertNotNull(rejectedStructureElements);
-        assertEquals(6, rejectedStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysUr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiUr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtUr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubUr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiUr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpUr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtUr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
     }
 
     @Test
@@ -1092,7 +499,7 @@ class StructuresMultipleIT {
         //     not delete
         //
         // note
-        //     create, approve in order to delete
+        //     create in order to delete
         //
         // validate delete
         //     uuid
@@ -1102,7 +509,7 @@ class StructuresMultipleIT {
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
         StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
         UUID uuid = null;
 
         structureElementCommands = new StructureElementCommand[] {
@@ -1133,16 +540,13 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        assertNotNull(structureElements);
+        assertEquals(6, structureElements.length);
 
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgCd",      Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "SysCd",     Boolean.TRUE);
@@ -1160,9 +564,6 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
         uuid = structureElementCommandsConfirm[1].getUuid();
         structureElementCommandsConfirm[1].setUuid(null);
@@ -1172,17 +573,17 @@ class StructuresMultipleIT {
     }
 
     @Test
-    void deleteApprove() {
-        // test delete and approve subsystem
+    void delete() {
+        // test delete subsystem
         //
         // note
-        //     create, approve in order to delete, approve
+        //     create in order to delete
 
         StructureElementCommandCreate[] structureElementCommandsCreate = null;
         StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
         StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
         StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
+        StructureElement[] structureElements = null;
 
         structureElementCommands = new StructureElementCommand[] {
                 new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgDa",  null, "description"),
@@ -1212,16 +613,13 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
+        structureElements = ITUtilStructures.assertCreate(structureElementCommandsCreate);
+        assertNotNull(structureElements);
+        assertEquals(6, structureElements.length);
 
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
+        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElements);
+        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElements);
 
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDa",      Boolean.TRUE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "SysDa",     Boolean.TRUE);
@@ -1239,36 +637,9 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
 
         ITUtilStructures.assertDelete(structureElementCommandsConfirm);
 
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDa",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDa",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDa", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDa",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDa",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDa",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDa",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDa", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDa",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDa",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDa",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        approvedStructureElements = ITUtilStructures.assertApprove(structureElementCommandsConfirm);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
-
         ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDa",      Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SYSTEM,      "SysDa",     Boolean.FALSE);
         ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDa", Boolean.FALSE);
@@ -1285,249 +656,6 @@ class StructuresMultipleIT {
         ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
         ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
         ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-    }
-
-    @Test
-    void deleteCancel() {
-        // test delete and cancel subsystem
-        //
-        // note
-        //     create, approve in order to delete, cancel
-
-        StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
-        StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
-        StructureElement[] cancelledStructureElements = null;
-
-        structureElementCommands = new StructureElementCommand[] {
-                new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgDc",  null, "description"),
-                new StructureElementCommand(null, Type.SYSTEM,      systemGroupUuid, "SysDc", null, "description"),
-                new StructureElementCommand(null, Type.SUBSYSTEM,   systemUuid,      "SubDc", null, "description"),
-                new StructureElementCommand(null, Type.DISCIPLINE,  null,            "DiDc",  null, "description"),
-                new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "",      null, "description"),
-                new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "DtDc",  null, "description")
-        };
-        structureElementCommandsCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommands);
-        structureElementCommandsUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommands);
-        structureElementCommandsConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommands);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDc",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDc",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDc",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        cancelledStructureElements = ITUtilStructures.assertCancel(structureElementCommandsConfirm);
-        assertNotNull(cancelledStructureElements);
-        assertEquals(6, cancelledStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDc",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDc",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDc",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDc", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDc",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDc",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDc",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-    }
-
-    @Test
-    void deleteReject() {
-        // test delete and reject subsystem
-        //
-        // note
-        //     create, approve in order to delete, reject
-
-        StructureElementCommandCreate[] structureElementCommandsCreate = null;
-        StructureElementCommandUpdate[] structureElementCommandsUpdate = null;
-        StructureElementCommandConfirm[] structureElementCommandsConfirm = null;
-        StructureElementCommand[] structureElementCommands = null;
-        StructureElement[] approvedStructureElements = null;
-        StructureElement[] rejectedStructureElements = null;
-
-        structureElementCommands = new StructureElementCommand[] {
-                new StructureElementCommand(null, Type.SYSTEMGROUP, null,            "SgDr",  null, "description"),
-                new StructureElementCommand(null, Type.SYSTEM,      systemGroupUuid, "SysDr", null, "description"),
-                new StructureElementCommand(null, Type.SUBSYSTEM,   systemUuid,      "SubDr", null, "description"),
-                new StructureElementCommand(null, Type.DISCIPLINE,  null,            "DiDr",  null, "description"),
-                new StructureElementCommand(null, Type.DEVICEGROUP, disciplineUuid,  "",      null, "description"),
-                new StructureElementCommand(null, Type.DEVICETYPE,  deviceGroupUuid, "DtDr",  null, "description")
-        };
-        structureElementCommandsCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommands);
-        structureElementCommandsUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommands);
-        structureElementCommandsConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommands);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDr",      Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDr",     Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDr",      Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.TRUE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        approvedStructureElements = ITUtilStructures.assertCreateApprove(structureElementCommandsCreate);
-        assertNotNull(approvedStructureElements);
-        assertEquals(6, approvedStructureElements.length);
-
-        structureElementCommandsUpdate = StructureElementUtil.convertElement2CommandUpdate(approvedStructureElements);
-        structureElementCommandsConfirm = StructureElementUtil.convertElement2CommandConfirm(approvedStructureElements);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
-
-        ITUtilStructures.assertDelete(structureElementCommandsConfirm);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.TRUE);
-
-        rejectedStructureElements = ITUtilStructures.assertReject(structureElementCommandsConfirm);
-        assertNotNull(rejectedStructureElements);
-        assertEquals(6, rejectedStructureElements.length);
-
-        ITUtilStructures.assertExists(Type.SYSTEMGROUP, "SgDr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SYSTEM,      "SysDr",     Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DISCIPLINE,  "DiDr",      Boolean.TRUE);
-        ITUtilStructures.assertExists(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertExists(Type.DEVICETYPE,  "Di-DtDr",   Boolean.TRUE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEMGROUP, "SgDr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SYSTEM,      "SysDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.SUBSYSTEM,   "Sys-SubDr", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE,  "DiDr",      Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICEGROUP, "GrpDr",     Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DEVICETYPE,  "Di-DtDr",   Boolean.FALSE);
-
-        ITUtilStructures.assertValidate(structureElementCommandsCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsUpdate,  StructureCommand.UPDATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.DELETE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.CANCEL,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandsConfirm, StructureCommand.REJECT,  Boolean.FALSE);
     }
 
 }
diff --git a/src/test/java/org/openepics/names/util/notification/NotificationStructureTest.java b/src/test/java/org/openepics/names/util/notification/NotificationStructureTest.java
index 1e9ce012..cd05425a 100644
--- a/src/test/java/org/openepics/names/util/notification/NotificationStructureTest.java
+++ b/src/test/java/org/openepics/names/util/notification/NotificationStructureTest.java
@@ -39,9 +39,9 @@ import org.openepics.names.util.StructureCommand;
 class NotificationStructureTest {
 
     @Test
-    void createApprove() {
+    void create() {
         NotificationStructure ns = new NotificationStructure(
-                StructureCommand.CREATE, StructureCommand.APPROVE,
+                StructureCommand.CREATE,
                 Type.SYSTEM, UUID.randomUUID(),
                 "oldMnemonicW", "oldMnemonicpathE", "oldDescriptionR",
                 "newMnemonicY", "newMnemonicpathU", "newDescriptionI",
@@ -52,9 +52,9 @@ class NotificationStructureTest {
     }
 
     @Test
-    void updateCancel() {
+    void update() {
         NotificationStructure ns = new NotificationStructure(
-                StructureCommand.CREATE, StructureCommand.APPROVE,
+                StructureCommand.UPDATE,
                 Type.DISCIPLINE, UUID.randomUUID(),
                 "oldMnemonicS", "oldMnemonicpathD", "oldDescriptionF",
                 "newMnemonicH", "newMnemonicpathJ", "newDescriptionK",
@@ -65,9 +65,9 @@ class NotificationStructureTest {
     }
 
     @Test
-    void deleteReject() {
+    void delete() {
         NotificationStructure ns = new NotificationStructure(
-                StructureCommand.CREATE, StructureCommand.APPROVE,
+                StructureCommand.DELETE,
                 Type.DEVICETYPE, UUID.randomUUID(),
                 "oldMnemonicC", "oldMnemonicpathV", "oldDescriptionB",
                 "newMnemonicM", "newMnemonicpathQ", "newDescriptionW",
diff --git a/src/test/java/org/openepics/names/util/notification/NotificationUtilTest.java b/src/test/java/org/openepics/names/util/notification/NotificationUtilTest.java
index 7f375634..b2424a8a 100644
--- a/src/test/java/org/openepics/names/util/notification/NotificationUtilTest.java
+++ b/src/test/java/org/openepics/names/util/notification/NotificationUtilTest.java
@@ -77,19 +77,19 @@ class NotificationUtilTest {
     @Test
     void sortByNewMnemonicpath() {
         NotificationStructure ns1 = new NotificationStructure(
-                StructureCommand.CREATE, StructureCommand.APPROVE,
+                StructureCommand.CREATE,
                 Type.SYSTEM, UUID.randomUUID(),
                 "oldMnemonicW", "oldMnemonicpathE", "oldDescriptionR",
                 "newMnemonicY", "newMnemonicpathU", "newDescriptionI",
                 new Date(), "whoP");
         NotificationStructure ns2 = new NotificationStructure(
-                StructureCommand.CREATE, StructureCommand.APPROVE,
+                StructureCommand.CREATE,
                 Type.DISCIPLINE, UUID.randomUUID(),
                 "oldMnemonicS", "oldMnemonicpathD", "oldDescriptionF",
                 "newMnemonicH", "newMnemonicpathJ", "newDescriptionK",
                 new Date(), "whoZ");
         NotificationStructure ns3 = new NotificationStructure(
-                StructureCommand.CREATE, StructureCommand.APPROVE,
+                StructureCommand.CREATE,
                 Type.DEVICETYPE, UUID.randomUUID(),
                 "oldMnemonicC", "oldMnemonicpathV", "oldDescriptionB",
                 "newMnemonicM", "newMnemonicpathQ", "newDescriptionW",
diff --git a/src/test/resources/INTEGRATIONTEST_DOCKER_TUTORIAL.md b/src/test/resources/INTEGRATIONTEST_DOCKER_TUTORIAL.md
index defec2ea..e722578b 100644
--- a/src/test/resources/INTEGRATIONTEST_DOCKER_TUTORIAL.md
+++ b/src/test/resources/INTEGRATIONTEST_DOCKER_TUTORIAL.md
@@ -61,7 +61,7 @@ How
 
 ```
 @Test
-void createApprove()
+void create()
 ```
 
 Purpose
@@ -105,58 +105,38 @@ class StructuresDisciplineIT {
     public static final ComposeContainer ENVIRONMENT = ITUtil.defaultComposeContainers();
 
     @Test
-    void createApprove() {
-        // purpose
-        //     test create and approve discipline
-        //
-        // what - combination of
-        //     create      create structures
-        //     read        validate create
-        //     read        validate approve
-        //     patch       approve structures
-        //
-        // note
-        //     create in order to approve
+    void create() {
+        // test create discipline
 
         StructureElementCommandCreate structureElementCommandCreate = null;
+        StructureElementCommandUpdate structureElementCommandUpdate = null;
         StructureElementCommandConfirm structureElementCommandConfirm = null;
         StructureElementCommand structureElementCommand = null;
-        StructureElement createdStructureElement = null;
+        StructureElement structureElement = null;
 
-        structureElementCommand = new StructureElementCommand(, Type.DISCIPLINE, null, ", null, "description");
+        structureElementCommand = new StructureElementCommand(null, Type.DISCIPLINE, null, "Ca", null, "description");
 
         structureElementCommandCreate = StructureElementUtil.convertCommand2CommandCreate(structureElementCommand);
+        structureElementCommandUpdate = StructureElementUtil.convertCommand2CommandUpdate(structureElementCommand);
         structureElementCommandConfirm = StructureElementUtil.convertCommand2CommandConfirm(structureElementCommand);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "Ca", Boolean.FALSE);
         ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.FALSE);
 
         // create
-        createdStructureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
-        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(createdStructureElement);
-
-        ITUtilStructures.assertExists(Type.DISCIPLINE, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.TRUE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.TRUE);
-        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
-
-        // approve
-        ITUtilStructures.assertApprove(structureElementCommandConfirm);
+        structureElement = ITUtilStructures.assertCreate(structureElementCommandCreate);
+        structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(structureElement);
+        structureElementCommandConfirm = StructureElementUtil.convertElement2CommandConfirm(structureElement);
 
         ITUtilStructures.assertExists(Type.DISCIPLINE, "Ca", Boolean.TRUE);
         ITUtilStructures.assertIsValidToCreate(Type.DISCIPLINE, "Ca", Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE,  Boolean.FALSE);
-        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.APPROVE, Boolean.FALSE);
-
-        structureElementCommandConfirm.setUuid(null);
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, ITUtil.HTTP_UNPROCESSABLE_ENTITY);
-        structureElementCommandConfirm.setUuid(UUID.randomUUID());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_NOT_FOUND);
-        structureElementCommandConfirm.setUuid(createdStructureElement.getUuid());
-        ITUtilStructures.assertApprove(structureElementCommandConfirm, HttpURLConnection.HTTP_CONFLICT);
+        ITUtilStructures.assertValidate(structureElementCommandCreate,  StructureCommand.CREATE, Boolean.FALSE);
+        ITUtilStructures.assertValidate(structureElementCommandUpdate,  StructureCommand.UPDATE, Boolean.TRUE);
+        ITUtilStructures.assertValidate(structureElementCommandConfirm, StructureCommand.DELETE, Boolean.TRUE);
+        ITUtilStructures.assertCreate(structureElementCommandCreate, HttpURLConnection.HTTP_CONFLICT);
     }
 ```
 
@@ -171,26 +151,23 @@ Note the extensive use of test utility classes (in more detail below) in which a
 * Http requests (GET) and curl commands (POST, PUT, PATCH, DELETE) corresponding to endpoints in Naming REST API
 * assert response
 
-##### Examining `createApprove`
+##### Examining `create`
 
 1.  A GET request is made to Naming to check if Discipline exists
 2.  A GET request is made to Naming to check if Discipline is valid to create
 3.  A GET request is made to Naming to validate command to create Discipline
-4.  A GET request is made to Naming to validate command to approve Discipline
-5.  A POST request is made to Naming to create Discipline
-6.  A GET request is made to Naming to check if Discipline exists
-7.  A GET request is made to Naming to check if Discipline is valid to create
-8.  A GET request is made to Naming to validate command to create Discipline
-9.  A GET request is made to Naming to validate command to approve Discipline
-10. A POST request is made to Naming to create Discipline
-11. A POST request is made to Naming to approve Discipline
-12. A GET request is made to Naming to check if Discipline exists
-13. A GET request is made to Naming to check if Discipline is valid to create
-14. A GET request is made to Naming to validate command to create Discipline
-15. A GET request is made to Naming to validate command to approve Discipline
-
-
-* 1, 6, 12 - Request correspond to IStructures method
+4.  A GET request is made to Naming to validate command to update Discipline
+5.  A GET request is made to Naming to validate command to delete Discipline
+6.  A POST request is made to Naming to create Discipline
+7.  A GET request is made to Naming to check if Discipline exists
+8.  A GET request is made to Naming to check if Discipline is valid to create
+9.  A GET request is made to Naming to validate command to create Discipline
+10. A GET request is made to Naming to validate command to update Discipline
+11. A GET request is made to Naming to validate command to delete Discipline
+12. A POST request is made to Naming to create Discipline
+
+
+* 1, 7 - Request correspond to IStructures method
 
 ```
     @GetMapping(
@@ -198,7 +175,7 @@ Note the extensive use of test utility classes (in more detail below) in which a
     public ResponseEntity<ResponseBoolean> existsStructure(
 ```
 
-* 2, 7, 13 - Request correspond to IStructures method
+* 2, 8 - Request correspond to IStructures method
 
 ```
     @GetMapping(
@@ -207,7 +184,7 @@ Note the extensive use of test utility classes (in more detail below) in which a
     public ResponseEntity<ResponseBoolean> isValidToCreateStructure(
 ```
 
-* 3, 8, 14 - Request correspond to IStructures method
+* 3, 9 - Request correspond to IStructures method
 
 ```
     @GetMapping(
@@ -217,33 +194,33 @@ Note the extensive use of test utility classes (in more detail below) in which a
     public ResponseEntity<ResponseBooleanList> validateStructuresCreate(
 ```
 
-* 4, 9, 15 - Request correspond to IStructures method
+* 4, 10 - Request correspond to IStructures method
 
 ```
     @GetMapping(
-            value = "/validateApprove",
+            value = "/validateUpdate",
             produces = {"application/json"},
             consumes = {"application/json"})
-    public ResponseEntity<ResponseBooleanList> validateStructuresApprove(
+    public ResponseEntity<ResponseBooleanList> validateStructuresUpdate(
 ```
 
-* 5, 10 - Request correspond to IStructures method
+* 5, 11 - Request correspond to IStructures method
 
 ```
-    @PostMapping(
+    @GetMapping(
+            value = "/validateDelete",
             produces = {"application/json"},
             consumes = {"application/json"})
-    public ResponseEntity<List<StructureElement>> createStructures(
+    public ResponseEntity<ResponseBooleanList> validateStructuresDelete(
 ```
 
-* 11 - Request correspond to IStructures method
+* 6, 12 - Request correspond to IStructures method
 
 ```
-    @PatchMapping(
-            value = "/approve",
+    @PostMapping(
             produces = {"application/json"},
             consumes = {"application/json"})
-    public List<StructureElement> approveStructures(
+    public ResponseEntity<List<StructureElement>> createStructures(
 ```
 
 ##### Test classes
@@ -320,19 +297,15 @@ class NamesIT {
 
     @Test
     void readSearchHistoryDeleted() {
-
-        NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate(
-                subsystem010, deviceTypeFS,
-                "001", "description");
+        NameElementCommandCreate nameElementCommandCreate = new NameElementCommandCreate(subsystem010, deviceTypeFS, "001", "description");
 
         ITUtilNames.assertCreate(nameElementCommandCreate);
 
-        ITUtilNames.assertRead("?name=RFQ-010:EMR-FS-005",           1);
-        ITUtilNames.assertRead("?name=RFQ-010%",                    10, -1);
-
-        ITUtilNames.assertRead("?index=00_&page=0&pageSize=3&orderBy=WHEN&isAsc=true",   3);
-        ITUtilNames.assertRead("?index=00_&page=2&pageSize=3&orderBy=WHEN&isAsc=false",  2);
+        ITUtilNames.assertRead("?name=RFQ-010:EMR-FS-005",                               1);
+        ITUtilNames.assertRead("?name=RFQ-010%",                                        10, -1);
 
+        ITUtilNames.assertRead("?index=00_&orderBy=WHEN&isAsc=true&page=0&pageSize=3",   3);
+        ITUtilNames.assertRead("?index=00_&orderBy=WHEN&isAsc=false&page=2&pageSize=3",  2);
 ```
 
 ##### Note
diff --git a/src/test/resources/data/db/README.txt b/src/test/resources/data/db/README.txt
index 0f1359dd..2642ea94 100644
--- a/src/test/resources/data/db/README.txt
+++ b/src/test/resources/data/db/README.txt
@@ -7,7 +7,7 @@ Content prepared by
 - integration test class - method
       NamesIT                  readSearchHistoryDeleted
       StructuresSubsystemIT    readSearchStatusDeletedChildren
-- setting debug point in methods at first statement in try clause
+- setting debug point in methods at first statement in read & search section
 - debug
 - when test is halted, use database management tool to backup data
 
diff --git a/src/test/resources/data/db/dump-discs_names_namesit.sql b/src/test/resources/data/db/dump-discs_names_namesit.sql
index ead8bacd..bc35e385 100644
--- a/src/test/resources/data/db/dump-discs_names_namesit.sql
+++ b/src/test/resources/data/db/dump-discs_names_namesit.sql
@@ -5,7 +5,7 @@
 -- Dumped from database version 9.6.7
 -- Dumped by pg_dump version 9.6.24
 
--- Started on 2022-09-30 09:25:14 CEST
+-- Started on 2024-03-04 17:17:29 CET
 
 SET statement_timeout = 0;
 SET lock_timeout = 0;
@@ -283,21 +283,21 @@ ALTER SEQUENCE public.device_id_seq OWNED BY public.device.id;
 CREATE TABLE public.devicegroup (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    parent_uuid character varying(255),
-    name character varying(255),
-    mnemonic character varying(255),
-    mnemonic_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
+    mnemonic text,
+    mnemonic_equivalence text,
+    ordering integer,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -375,21 +375,21 @@ ALTER SEQUENCE public.devicerevision_id_seq OWNED BY public.devicerevision.id;
 CREATE TABLE public.devicetype (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    parent_uuid character varying(255),
-    name character varying(255),
-    mnemonic character varying(255),
-    mnemonic_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
+    mnemonic text,
+    mnemonic_equivalence text,
+    ordering integer,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -423,20 +423,20 @@ ALTER SEQUENCE public.devicetype_id_seq OWNED BY public.devicetype.id;
 CREATE TABLE public.discipline (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    name character varying(255),
-    mnemonic character varying(255),
-    mnemonic_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    mnemonic text,
+    mnemonic_equivalence text,
+    ordering integer,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -470,24 +470,24 @@ ALTER SEQUENCE public.discipline_id_seq OWNED BY public.discipline.id;
 CREATE TABLE public.name (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    systemgroup_uuid character varying(255),
-    system_uuid character varying(255),
-    subsystem_uuid character varying(255),
-    devicetype_uuid character varying(255),
-    instance_index character varying(255),
-    convention_name character varying(255),
-    convention_name_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    systemgroup_uuid text,
+    system_uuid text,
+    subsystem_uuid text,
+    devicetype_uuid text,
+    instance_index text,
+    convention_name text,
+    convention_name_equivalence text,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -603,21 +603,21 @@ ALTER SEQUENCE public.namepartrevision_id_seq OWNED BY public.namepartrevision.i
 CREATE TABLE public.subsystem (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    parent_uuid character varying(255),
-    name character varying(255),
-    mnemonic character varying(255),
-    mnemonic_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
+    mnemonic text,
+    mnemonic_equivalence text,
+    ordering integer,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -651,21 +651,21 @@ ALTER SEQUENCE public.subsystem_id_seq OWNED BY public.subsystem.id;
 CREATE TABLE public.system (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    parent_uuid character varying(255),
-    name character varying(255),
-    mnemonic character varying(255),
-    mnemonic_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
+    mnemonic text,
+    mnemonic_equivalence text,
+    ordering integer,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -699,20 +699,20 @@ ALTER SEQUENCE public.system_id_seq OWNED BY public.system.id;
 CREATE TABLE public.systemgroup (
     id bigint NOT NULL,
     version integer,
-    uuid character varying(255),
-    name character varying(255),
-    mnemonic character varying(255),
-    mnemonic_equivalence character varying(255),
-    description character varying(255),
-    status character varying(255),
+    uuid text NOT NULL,
+    mnemonic text,
+    mnemonic_equivalence text,
+    ordering integer,
+    description text,
+    status text,
     latest boolean NOT NULL,
     deleted boolean NOT NULL,
     requested timestamp without time zone,
-    requested_by character varying(255),
-    requested_comment character varying(255),
+    requested_by text,
+    requested_comment text,
     processed timestamp without time zone,
-    processed_by character varying(255),
-    processed_comment character varying(255)
+    processed_by text,
+    processed_comment text
 );
 
 
@@ -964,8 +964,8 @@ SELECT pg_catalog.setval('public.device_id_seq', 1, false);
 -- Data for Name: devicegroup; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.devicegroup (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	7e036d2e-0f81-469a-91e3-79725e9db70e	aa1aaa31-1463-490f-a173-4006ceea953c	Control	\N	\N	empty	APPROVED	t	f	2022-09-30 07:11:27.894	test who	These names are needed now, so I am approving, but please add a description to these later.	2022-09-30 07:11:27.979	test who	These names are needed now, so I am approving, but please add a description to these later.
+COPY public.devicegroup (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	d64e3a84-1224-4352-af0a-e7d2b512aa94	5c27876e-8cb8-4576-b918-c984748cf996	\N	\N	\N	Control	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.173	test who	\N
 \.
 
 
@@ -1003,10 +1003,10 @@ SELECT pg_catalog.setval('public.devicerevision_id_seq', 1, false);
 -- Data for Name: devicetype; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.devicetype (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	ac201308-1f64-459c-bc39-afa5ae1d6889	7e036d2e-0f81-469a-91e3-79725e9db70e	Flow Switch	FS	FS	empty	APPROVED	t	f	2022-09-30 07:11:28.073	test who	Approve names added from misc device group	2022-09-30 07:11:28.169	test who	Approve names added from misc device group
-2	1	5deb551f-87ec-43a3-8116-eb6692767012	7e036d2e-0f81-469a-91e3-79725e9db70e	RF Antenna	RFA	RFA	empty	APPROVED	t	f	2022-09-30 07:11:28.267	test who	Approve names added from misc device group	2022-09-30 07:11:28.35	test who	Approve names added from misc device group
-3	1	195eb50f-cdac-44c9-bf2e-c7cb3d89bcb1	7e036d2e-0f81-469a-91e3-79725e9db70e	Temperature Transmitter	TT	TT	empty	APPROVED	t	f	2022-09-30 07:11:28.446	test who	Approve names added from misc device group	2022-09-30 07:11:28.513	test who	Approve names added from misc device group
+COPY public.devicetype (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	d64e3a84-1224-4352-af0a-e7d2b512aa94	FS	FS	\N	Flow Switch	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.264	test who	\N
+2	0	f91e2bef-c50c-45b9-8b51-051872993313	d64e3a84-1224-4352-af0a-e7d2b512aa94	RFA	RFA	\N	RF Antenna	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.264	test who	\N
+3	0	fe0bce90-46fc-4d78-b47b-6679e29235bc	d64e3a84-1224-4352-af0a-e7d2b512aa94	TT	TT	\N	Temperature Transmitter	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.264	test who	\N
 \.
 
 
@@ -1025,8 +1025,8 @@ SELECT pg_catalog.setval('public.devicetype_id_seq', 3, true);
 -- Data for Name: discipline; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.discipline (id, version, uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	aa1aaa31-1463-490f-a173-4006ceea953c	Electromagnetic Resonators	EMR	EMR	empty	APPROVED	t	f	2022-09-30 07:11:27.769	test who	empty	2022-09-30 07:11:27.828	test who	empty
+COPY public.discipline (id, version, uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	5c27876e-8cb8-4576-b918-c984748cf996	EMR	EMR	\N	Electromagnetic Resonators	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.124	test who	\N
 \.
 
 
@@ -1046,23 +1046,23 @@ SELECT pg_catalog.setval('public.discipline_id_seq', 1, true);
 --
 
 COPY public.name (id, version, uuid, systemgroup_uuid, system_uuid, subsystem_uuid, devicetype_uuid, instance_index, convention_name, convention_name_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	0	4c8fcc43-e7f9-4f43-9be9-06e1873f1e9a	0b1fbe52-b581-4bdf-8cfc-6c975882262e	\N	\N	\N	\N	Acc	ACC	System structure only	APPROVED	t	f	2022-09-30 07:11:26.957	test who	\N	\N	\N	\N
-2	0	976d0e3b-9353-46cf-9550-a1949296c22f	\N	91eafa70-a0b4-4fa7-889a-0812d0a3ac04	\N	\N	\N	RFQ	RFQ	System structure only	APPROVED	t	f	2022-09-30 07:11:27.172	test who	\N	\N	\N	\N
-3	0	60d7c1dc-f6e3-4819-8278-a091f5779ad5	\N	\N	420f81b4-cdd6-4a3f-a528-135c2a2eb3ed	\N	\N	RFQ-010PRL	RFQ-10PR1	System structure only	APPROVED	t	f	2022-09-30 07:11:27.361	test who	\N	\N	\N	\N
-4	0	c87a620a-d169-4263-8c0b-f5b41695446c	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	\N	\N	RFQ-010	RFQ-10	System structure only	APPROVED	t	f	2022-09-30 07:11:27.532	test who	\N	\N	\N	\N
-5	0	a58f08c7-6961-49ff-9e83-d863746af46b	\N	\N	66fdb990-7f76-475c-9e8c-c1716af839c3	\N	\N	RFQ-N1U1	RFQ-N1U1	System structure only	APPROVED	t	f	2022-09-30 07:11:27.67	test who	\N	\N	\N	\N
-7	0	61f3818d-316e-4593-aed3-1522726b279e	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	002	RFQ-010:EMR-FS-002	RFQ-10:EMR-FS-2	description	APPROVED	t	f	2022-09-30 07:11:28.735	test who	comment	\N	\N	\N
-8	0	8635c489-fd82-4939-8193-066d6f0a8c2a	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	003	RFQ-010:EMR-FS-003	RFQ-10:EMR-FS-3	description	APPROVED	t	f	2022-09-30 07:11:28.804	test who	comment	\N	\N	\N
-9	0	126d3f78-9ed8-4f97-98d3-d7a2f2bd6dd4	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	004	RFQ-010:EMR-FS-004	RFQ-10:EMR-FS-4	description	APPROVED	t	f	2022-09-30 07:11:28.879	test who	comment	\N	\N	\N
-10	0	7c8ceabb-aed7-4e0d-8503-d8bc38e7d25b	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	005	RFQ-010:EMR-FS-005	RFQ-10:EMR-FS-5	description	APPROVED	t	f	2022-09-30 07:11:28.934	test who	comment	\N	\N	\N
-11	0	18170b1a-dd95-4aa5-a05c-555fbbab8a75	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	006	RFQ-010:EMR-FS-006	RFQ-10:EMR-FS-6	description	APPROVED	t	f	2022-09-30 07:11:28.992	test who	comment	\N	\N	\N
-6	1	4c92c9e9-5a34-48e4-a2c3-ca284682f57c	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	001	RFQ-010:EMR-FS-001	RFQ-10:EMR-FS-1	description	APPROVED	f	f	2022-09-30 07:11:28.645	test who	comment	\N	\N	\N
-15	0	4c92c9e9-5a34-48e4-a2c3-ca284682f57c	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	001	RFQ-010:EMR-FS-001	RFQ-10:EMR-FS-1	updated description again	APPROVED	t	f	2022-09-30 07:11:29.223	test who	updated comment again	\N	\N	\N
-14	1	4c92c9e9-5a34-48e4-a2c3-ca284682f57c	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	001	RFQ-010:EMR-FS-001	RFQ-10:EMR-FS-1	updated description	APPROVED	f	f	2022-09-30 07:11:29.167	test who	updated comment	\N	\N	\N
-16	0	fd22b033-0fad-48a4-afa1-65cfd1098464	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	007	RFQ-010:EMR-FS-007	RFQ-10:EMR-FS-7	description	APPROVED	t	t	2022-09-30 07:11:29.271	test who	comment	\N	\N	\N
-12	1	fd22b033-0fad-48a4-afa1-65cfd1098464	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	007	RFQ-010:EMR-FS-007	RFQ-10:EMR-FS-7	description	APPROVED	f	f	2022-09-30 07:11:29.05	test who	comment	\N	\N	\N
-17	0	3743a2a8-3a8f-41b3-aa9b-352ea722f46a	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	008	RFQ-010:EMR-FS-008	RFQ-10:EMR-FS-8	description	APPROVED	t	t	2022-09-30 07:11:29.315	test who	comment	\N	\N	\N
-13	1	3743a2a8-3a8f-41b3-aa9b-352ea722f46a	\N	\N	d85f970f-be06-445a-8b48-f896be710f67	ac201308-1f64-459c-bc39-afa5ae1d6889	008	RFQ-010:EMR-FS-008	RFQ-10:EMR-FS-8	description	APPROVED	f	f	2022-09-30 07:11:29.107	test who	comment	\N	\N	\N
+1	0	b6177d1f-fdc3-47f0-b35e-3e61ea8760be	9aae66a8-ac73-4c0c-b252-430249882403	\N	\N	\N	\N	Acc	ACC	System structure only	APPROVED	t	f	2024-03-04 16:14:50.452	test who	\N	\N	\N	\N
+2	0	bce1e479-115e-4aa4-a641-e634af3a4f71	\N	e5c2b06e-7f3e-4adf-9c2d-c20c0f873ba9	\N	\N	\N	RFQ	RFQ	System structure only	APPROVED	t	f	2024-03-04 16:14:50.871	test who	\N	\N	\N	\N
+3	0	e317123a-a00f-4009-873e-17212267ed20	\N	\N	de2b46ae-2459-4da4-92e1-d0dcff67e96f	\N	\N	RFQ-010PRL	RFQ-10PR1	System structure only	APPROVED	t	f	2024-03-04 16:14:51.015	test who	\N	\N	\N	\N
+4	0	fdd97e12-7591-483b-ae54-a3fd83c5f86b	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	\N	\N	RFQ-010	RFQ-10	System structure only	APPROVED	t	f	2024-03-04 16:14:51.015	test who	\N	\N	\N	\N
+5	0	1a0924f4-9b30-4064-89cd-7ce2c547595f	\N	\N	3c36d87f-3d2c-4a88-87f1-77614e20aa89	\N	\N	RFQ-N1U1	RFQ-N1U1	System structure only	APPROVED	t	f	2024-03-04 16:14:51.015	test who	\N	\N	\N	\N
+7	0	0a6ac5c8-e177-4630-85a5-0b20c1eb1c08	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	002	RFQ-010:EMR-FS-002	RFQ-10:EMR-FS-2	description	APPROVED	t	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+8	0	7a39848e-7075-4327-8402-e3c80e92f8f6	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	003	RFQ-010:EMR-FS-003	RFQ-10:EMR-FS-3	description	APPROVED	t	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+9	0	311f25dd-8ab3-4482-9d83-0c00c0f09858	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	004	RFQ-010:EMR-FS-004	RFQ-10:EMR-FS-4	description	APPROVED	t	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+10	0	0b70edf6-e7e9-40d9-8983-01eb03b99076	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	005	RFQ-010:EMR-FS-005	RFQ-10:EMR-FS-5	description	APPROVED	t	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+11	0	4d40d460-8de3-4525-80e7-1ca28e984240	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	006	RFQ-010:EMR-FS-006	RFQ-10:EMR-FS-6	description	APPROVED	t	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+6	1	cb709c37-a1a2-4188-9acb-4692d603ad81	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	001	RFQ-010:EMR-FS-001	RFQ-10:EMR-FS-1	description	APPROVED	f	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+15	0	cb709c37-a1a2-4188-9acb-4692d603ad81	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	001	RFQ-010:EMR-FS-001	RFQ-10:EMR-FS-1	updated description again	APPROVED	t	f	2024-03-04 16:14:51.628	test who	\N	\N	\N	\N
+14	1	cb709c37-a1a2-4188-9acb-4692d603ad81	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	001	RFQ-010:EMR-FS-001	RFQ-10:EMR-FS-1	updated description	APPROVED	f	f	2024-03-04 16:14:51.584	test who	\N	\N	\N	\N
+16	0	57291cdc-41e9-4c9f-aeeb-520692ac3a57	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	007	RFQ-010:EMR-FS-007	RFQ-10:EMR-FS-7	description	APPROVED	t	t	2024-03-04 16:14:51.66	test who	\N	\N	\N	\N
+12	1	57291cdc-41e9-4c9f-aeeb-520692ac3a57	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	007	RFQ-010:EMR-FS-007	RFQ-10:EMR-FS-7	description	APPROVED	f	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
+17	0	22f8625f-7135-4503-8413-d3792c6a1215	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	008	RFQ-010:EMR-FS-008	RFQ-10:EMR-FS-8	description	APPROVED	t	t	2024-03-04 16:14:51.683	test who	\N	\N	\N	\N
+13	1	22f8625f-7135-4503-8413-d3792c6a1215	\N	\N	40743524-3a06-4d8c-be81-5cfe8419e05f	e5b662f9-ca7e-4fb3-b083-30b0e6a38a9d	008	RFQ-010:EMR-FS-008	RFQ-10:EMR-FS-8	description	APPROVED	f	f	2024-03-04 16:14:51.512	test who	\N	\N	\N	\N
 \.
 
 
@@ -1119,10 +1119,10 @@ SELECT pg_catalog.setval('public.namepartrevision_id_seq', 1, false);
 -- Data for Name: subsystem; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.subsystem (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	420f81b4-cdd6-4a3f-a528-135c2a2eb3ed	91eafa70-a0b4-4fa7-889a-0812d0a3ac04	01 Phase Reference Line	010PRL	10PR1	empty	APPROVED	t	f	2022-09-30 07:11:27.282	test who	Approved by Daniel Piso	2022-09-30 07:11:27.361	test who	Approved by Daniel Piso
-2	1	d85f970f-be06-445a-8b48-f896be710f67	91eafa70-a0b4-4fa7-889a-0812d0a3ac04	RFQ-010	010	10	empty	APPROVED	t	f	2022-09-30 07:11:27.452	test who	Approved by Daniel Piso	2022-09-30 07:11:27.532	test who	Approved by Daniel Piso
-3	1	66fdb990-7f76-475c-9e8c-c1716af839c3	91eafa70-a0b4-4fa7-889a-0812d0a3ac04	Power switch board 01	N1U1	N1U1	Electrical power cabinets	APPROVED	t	f	2022-09-30 07:11:27.612	test who	Approved by Daniel Piso	2022-09-30 07:11:27.67	test who	Approved by Daniel Piso
+COPY public.subsystem (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	de2b46ae-2459-4da4-92e1-d0dcff67e96f	e5c2b06e-7f3e-4adf-9c2d-c20c0f873ba9	010PRL	10PR1	\N	01 Phase Reference Line	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.015	test who	\N
+2	0	40743524-3a06-4d8c-be81-5cfe8419e05f	e5c2b06e-7f3e-4adf-9c2d-c20c0f873ba9	010	10	\N	RFQ-010	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.015	test who	\N
+3	0	3c36d87f-3d2c-4a88-87f1-77614e20aa89	e5c2b06e-7f3e-4adf-9c2d-c20c0f873ba9	N1U1	N1U1	\N	Power switch board 01. Electrical power cabinets	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:51.015	test who	\N
 \.
 
 
@@ -1141,8 +1141,8 @@ SELECT pg_catalog.setval('public.subsystem_id_seq', 3, true);
 -- Data for Name: system; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.system (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	91eafa70-a0b4-4fa7-889a-0812d0a3ac04	0b1fbe52-b581-4bdf-8cfc-6c975882262e	Radio Frequency Quadrupole	RFQ	RFQ	empty	APPROVED	t	f	2022-09-30 07:11:27.109	test who	empty	2022-09-30 07:11:27.172	test who	empty
+COPY public.system (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	e5c2b06e-7f3e-4adf-9c2d-c20c0f873ba9	9aae66a8-ac73-4c0c-b252-430249882403	RFQ	RFQ	\N	Radio Frequency Quadrupole	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:50.871	test who	\N
 \.
 
 
@@ -1161,8 +1161,8 @@ SELECT pg_catalog.setval('public.system_id_seq', 1, true);
 -- Data for Name: systemgroup; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.systemgroup (id, version, uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	0b1fbe52-b581-4bdf-8cfc-6c975882262e	Accelerator	Acc	ACC	The ESS Linear Accelerator	APPROVED	t	f	2022-09-30 07:11:26.775	test who	approved by alfio	2022-09-30 07:11:26.957	test who	approved by alfio
+COPY public.systemgroup (id, version, uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	9aae66a8-ac73-4c0c-b252-430249882403	Acc	ACC	\N	Accelerator. The ESS Linear Accelerator	APPROVED	t	f	\N	\N	\N	2024-03-04 16:14:50.452	test who	\N
 \.
 
 
@@ -1268,7 +1268,7 @@ ALTER TABLE ONLY public.discipline
 
 
 --
--- TOC entry 2190 (class 2606 OID 16620)
+-- TOC entry 2187 (class 2606 OID 16620)
 -- Name: name name_pk; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
@@ -1516,59 +1516,59 @@ CREATE INDEX name_deleted_idx ON public.name USING btree (deleted);
 
 
 --
--- TOC entry 2183 (class 1259 OID 16571)
--- Name: name_id_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2183 (class 1259 OID 16575)
+-- Name: name_devicetype_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_id_idx ON public.name USING btree (id);
+CREATE INDEX name_devicetype_uuid_idx ON public.name USING btree (devicetype_uuid);
 
 
 --
--- TOC entry 2184 (class 1259 OID 16585)
--- Name: name_latest_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2184 (class 1259 OID 16571)
+-- Name: name_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_latest_idx ON public.name USING btree (latest);
+CREATE INDEX name_id_idx ON public.name USING btree (id);
 
 
 --
--- TOC entry 2185 (class 1259 OID 16575)
--- Name: name_namepartrevision_devicetype_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2185 (class 1259 OID 16585)
+-- Name: name_latest_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_devicetype_uuid_idx ON public.name USING btree (devicetype_uuid);
+CREATE INDEX name_latest_idx ON public.name USING btree (latest);
 
 
 --
--- TOC entry 2186 (class 1259 OID 16574)
--- Name: name_namepartrevision_subsystem_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2188 (class 1259 OID 16577)
+-- Name: name_status_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_subsystem_uuid_idx ON public.name USING btree (subsystem_uuid);
+CREATE INDEX name_status_idx ON public.name USING btree (status);
 
 
 --
--- TOC entry 2187 (class 1259 OID 16573)
--- Name: name_namepartrevision_system_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2189 (class 1259 OID 16574)
+-- Name: name_subsystem_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_system_uuid_idx ON public.name USING btree (system_uuid);
+CREATE INDEX name_subsystem_uuid_idx ON public.name USING btree (subsystem_uuid);
 
 
 --
--- TOC entry 2188 (class 1259 OID 16572)
--- Name: name_namepartrevision_systemgroup_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2190 (class 1259 OID 16573)
+-- Name: name_system_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_systemgroup_uuid_idx ON public.name USING btree (systemgroup_uuid);
+CREATE INDEX name_system_uuid_idx ON public.name USING btree (system_uuid);
 
 
 --
--- TOC entry 2191 (class 1259 OID 16577)
--- Name: name_status_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2191 (class 1259 OID 16572)
+-- Name: name_systemgroup_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_status_idx ON public.name USING btree (status);
+CREATE INDEX name_systemgroup_uuid_idx ON public.name USING btree (systemgroup_uuid);
 
 
 --
@@ -1811,7 +1811,7 @@ ALTER TABLE ONLY public.namepartrevision
     ADD CONSTRAINT fk_lufxqy46l9eiq55d445rbukag FOREIGN KEY (parent_id) REFERENCES public.namepart(id);
 
 
--- Completed on 2022-09-30 09:25:14 CEST
+-- Completed on 2024-03-04 17:17:29 CET
 
 --
 -- PostgreSQL database dump complete
diff --git a/src/test/resources/data/db/dump-discs_names_subsystemit.sql b/src/test/resources/data/db/dump-discs_names_subsystemit.sql
index b8c8576e..f6d43329 100644
--- a/src/test/resources/data/db/dump-discs_names_subsystemit.sql
+++ b/src/test/resources/data/db/dump-discs_names_subsystemit.sql
@@ -5,7 +5,7 @@
 -- Dumped from database version 9.6.7
 -- Dumped by pg_dump version 9.6.24
 
--- Started on 2024-01-02 15:16:38 CET
+-- Started on 2024-03-04 17:19:26 CET
 
 SET statement_timeout = 0;
 SET lock_timeout = 0;
@@ -283,11 +283,11 @@ ALTER SEQUENCE public.device_id_seq OWNED BY public.device.id;
 CREATE TABLE public.devicegroup (
     id bigint NOT NULL,
     version integer,
-    uuid text,
-    parent_uuid text,
-    name text,
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
     mnemonic text,
     mnemonic_equivalence text,
+    ordering integer,
     description text,
     status text,
     latest boolean NOT NULL,
@@ -375,11 +375,11 @@ ALTER SEQUENCE public.devicerevision_id_seq OWNED BY public.devicerevision.id;
 CREATE TABLE public.devicetype (
     id bigint NOT NULL,
     version integer,
-    uuid text,
-    parent_uuid text,
-    name text,
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
     mnemonic text,
     mnemonic_equivalence text,
+    ordering integer,
     description text,
     status text,
     latest boolean NOT NULL,
@@ -423,10 +423,10 @@ ALTER SEQUENCE public.devicetype_id_seq OWNED BY public.devicetype.id;
 CREATE TABLE public.discipline (
     id bigint NOT NULL,
     version integer,
-    uuid text,
-    name text,
+    uuid text NOT NULL,
     mnemonic text,
     mnemonic_equivalence text,
+    ordering integer,
     description text,
     status text,
     latest boolean NOT NULL,
@@ -470,7 +470,7 @@ ALTER SEQUENCE public.discipline_id_seq OWNED BY public.discipline.id;
 CREATE TABLE public.name (
     id bigint NOT NULL,
     version integer,
-    uuid text,
+    uuid text NOT NULL,
     systemgroup_uuid text,
     system_uuid text,
     subsystem_uuid text,
@@ -603,11 +603,11 @@ ALTER SEQUENCE public.namepartrevision_id_seq OWNED BY public.namepartrevision.i
 CREATE TABLE public.subsystem (
     id bigint NOT NULL,
     version integer,
-    uuid text,
-    parent_uuid text,
-    name text,
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
     mnemonic text,
     mnemonic_equivalence text,
+    ordering integer,
     description text,
     status text,
     latest boolean NOT NULL,
@@ -651,11 +651,11 @@ ALTER SEQUENCE public.subsystem_id_seq OWNED BY public.subsystem.id;
 CREATE TABLE public.system (
     id bigint NOT NULL,
     version integer,
-    uuid text,
-    parent_uuid text,
-    name text,
+    uuid text NOT NULL,
+    parent_uuid text NOT NULL,
     mnemonic text,
     mnemonic_equivalence text,
+    ordering integer,
     description text,
     status text,
     latest boolean NOT NULL,
@@ -699,10 +699,10 @@ ALTER SEQUENCE public.system_id_seq OWNED BY public.system.id;
 CREATE TABLE public.systemgroup (
     id bigint NOT NULL,
     version integer,
-    uuid text,
-    name text,
+    uuid text NOT NULL,
     mnemonic text,
     mnemonic_equivalence text,
+    ordering integer,
     description text,
     status text,
     latest boolean NOT NULL,
@@ -964,7 +964,7 @@ SELECT pg_catalog.setval('public.device_id_seq', 1, false);
 -- Data for Name: devicegroup; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.devicegroup (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+COPY public.devicegroup (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
 \.
 
 
@@ -1002,7 +1002,7 @@ SELECT pg_catalog.setval('public.devicerevision_id_seq', 1, false);
 -- Data for Name: devicetype; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.devicetype (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+COPY public.devicetype (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
 \.
 
 
@@ -1021,7 +1021,7 @@ SELECT pg_catalog.setval('public.devicetype_id_seq', 1, false);
 -- Data for Name: discipline; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.discipline (id, version, uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+COPY public.discipline (id, version, uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
 \.
 
 
@@ -1041,6 +1041,53 @@ SELECT pg_catalog.setval('public.discipline_id_seq', 1, false);
 --
 
 COPY public.name (id, version, uuid, systemgroup_uuid, system_uuid, subsystem_uuid, devicetype_uuid, instance_index, convention_name, convention_name_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	aa42ed64-4dd6-40c5-80fc-4b8381da414e	b3f5b914-9607-4df8-a701-553f4d238e1e	\N	\N	\N	\N	Sg	SG	System structure only	APPROVED	t	f	2024-03-04 16:18:38.976	test who	\N	\N	\N	\N
+2	0	33db7396-ed60-4368-bb6d-481dca8cfee4	\N	25a231ac-cc79-43f0-a8aa-00d34b6262a8	\N	\N	\N	Sys	SYS	System structure only	APPROVED	t	f	2024-03-04 16:18:39.52	test who	\N	\N	\N	\N
+3	0	c80cc24f-bdd9-4469-90fb-c28469ca301c	\N	\N	0ccfe162-7bf2-46f0-b670-910e9c7a0f99	\N	\N	Sys-AA1	SYS-AA1	System structure only	APPROVED	t	f	2024-03-04 16:18:39.858	test who	\N	\N	\N	\N
+4	0	34fdad07-44c3-4d6e-9821-ea78e9d9950a	\N	\N	4fe32787-9e4e-48df-b2d4-413b6310ddd8	\N	\N	Sys-AA2	SYS-AA2	System structure only	APPROVED	t	f	2024-03-04 16:18:39.858	test who	\N	\N	\N	\N
+5	0	eb39c613-f8cc-4e35-84be-a71eb6c4e371	\N	\N	921fd974-b02e-4535-9fa4-832e1f413a2f	\N	\N	Sys-AA3	SYS-AA3	System structure only	APPROVED	t	f	2024-03-04 16:18:39.858	test who	\N	\N	\N	\N
+6	0	f6cd08cb-8383-404d-bf24-72280e2fdfb2	\N	\N	d8c8a289-3b50-4d45-bff0-0ba6933235fd	\N	\N	Sys-AA4	SYS-AA4	System structure only	APPROVED	t	f	2024-03-04 16:18:39.858	test who	\N	\N	\N	\N
+7	0	4d8db96a-9a42-4901-9e56-5ae9f915a9fd	\N	\N	ca0d26d2-fcf0-4844-9509-9c60835857e1	\N	\N	Sys-AA5	SYS-AA5	System structure only	APPROVED	t	f	2024-03-04 16:18:39.858	test who	\N	\N	\N	\N
+8	0	8bdd044f-17bd-4846-ba10-49c5c4bb3418	\N	\N	ed15e5ff-0641-4185-9fb0-f43702a14350	\N	\N	Sys-AB1	SYS-AB1	System structure only	APPROVED	t	f	2024-03-04 16:18:39.95	test who	\N	\N	\N	\N
+9	0	067b4dd9-fd59-4786-8b65-58bb0177e3ce	\N	\N	8e158f4b-0ea5-4ca9-87ae-def88d72a647	\N	\N	Sys-AB2	SYS-AB2	System structure only	APPROVED	t	f	2024-03-04 16:18:39.95	test who	\N	\N	\N	\N
+10	0	b47a43f0-8991-4fc4-a6d1-0296578e1bff	\N	\N	b8e9bbfc-e3c4-4eef-883e-0e2d0709ec03	\N	\N	Sys-AB3	SYS-AB3	System structure only	APPROVED	t	f	2024-03-04 16:18:39.95	test who	\N	\N	\N	\N
+11	0	d84cce5c-a687-473f-b4bc-7512d4ac820f	\N	\N	d13ea971-d722-45ea-bbab-96c5e221a344	\N	\N	Sys-AB4	SYS-AB4	System structure only	APPROVED	t	f	2024-03-04 16:18:39.95	test who	\N	\N	\N	\N
+12	0	23937a8b-39a0-4193-a436-df45ad9cef88	\N	\N	63d701ba-555b-41fd-9810-9d87454aa1fa	\N	\N	Sys-AB5	SYS-AB5	System structure only	APPROVED	t	f	2024-03-04 16:18:39.95	test who	\N	\N	\N	\N
+18	0	809eec71-dd7c-4a26-a50c-85bf9c1ec6d3	\N	\N	9659c6e8-7d37-47d8-aaf6-eeb7ada222d1	\N	\N	Sys-AC1	SYS-AC1	System structure only	APPROVED	t	t	2024-03-04 16:18:40.261	test who	\N	\N	\N	\N
+13	1	809eec71-dd7c-4a26-a50c-85bf9c1ec6d3	\N	\N	9659c6e8-7d37-47d8-aaf6-eeb7ada222d1	\N	\N	Sys-AC1	SYS-AC1	System structure only	APPROVED	f	f	2024-03-04 16:18:40.157	test who	\N	\N	\N	\N
+19	0	e0bb293d-a1a4-4146-97ba-c5ca6e69cc48	\N	\N	0db3c127-d8f7-48ea-8af1-6433928f928b	\N	\N	Sys-AC2	SYS-AC2	System structure only	APPROVED	t	t	2024-03-04 16:18:40.272	test who	\N	\N	\N	\N
+14	1	e0bb293d-a1a4-4146-97ba-c5ca6e69cc48	\N	\N	0db3c127-d8f7-48ea-8af1-6433928f928b	\N	\N	Sys-AC2	SYS-AC2	System structure only	APPROVED	f	f	2024-03-04 16:18:40.157	test who	\N	\N	\N	\N
+20	0	4b013f5e-e25c-4936-8a37-e1c0ba0fb7b8	\N	\N	5d1164af-e155-433e-a8e6-1a60cbc315b8	\N	\N	Sys-AC3	SYS-AC3	System structure only	APPROVED	t	t	2024-03-04 16:18:40.282	test who	\N	\N	\N	\N
+15	1	4b013f5e-e25c-4936-8a37-e1c0ba0fb7b8	\N	\N	5d1164af-e155-433e-a8e6-1a60cbc315b8	\N	\N	Sys-AC3	SYS-AC3	System structure only	APPROVED	f	f	2024-03-04 16:18:40.157	test who	\N	\N	\N	\N
+21	0	665f4a7d-c678-4e01-9fce-3b3f5709a384	\N	\N	2542b027-513b-40bb-9be8-74fcb400459e	\N	\N	Sys-AC4	SYS-AC4	System structure only	APPROVED	t	t	2024-03-04 16:18:40.291	test who	\N	\N	\N	\N
+16	1	665f4a7d-c678-4e01-9fce-3b3f5709a384	\N	\N	2542b027-513b-40bb-9be8-74fcb400459e	\N	\N	Sys-AC4	SYS-AC4	System structure only	APPROVED	f	f	2024-03-04 16:18:40.157	test who	\N	\N	\N	\N
+22	0	96f51bac-74cf-49ca-a73f-9d4d411e2a1d	\N	\N	e1e4b087-c3d5-409f-9a5f-a9e9f84962fb	\N	\N	Sys-AC5	SYS-AC5	System structure only	APPROVED	t	t	2024-03-04 16:18:40.3	test who	\N	\N	\N	\N
+17	1	96f51bac-74cf-49ca-a73f-9d4d411e2a1d	\N	\N	e1e4b087-c3d5-409f-9a5f-a9e9f84962fb	\N	\N	Sys-AC5	SYS-AC5	System structure only	APPROVED	f	f	2024-03-04 16:18:40.157	test who	\N	\N	\N	\N
+28	0	91476425-714e-4ed4-bc93-d6a1087e4e61	\N	\N	2cb15615-72a4-48af-aa88-57fe20caaebe	\N	\N	Sys-AD1	SYS-AD1	System structure only	APPROVED	t	t	2024-03-04 16:18:40.48	test who	\N	\N	\N	\N
+23	1	91476425-714e-4ed4-bc93-d6a1087e4e61	\N	\N	2cb15615-72a4-48af-aa88-57fe20caaebe	\N	\N	Sys-AD1	SYS-AD1	System structure only	APPROVED	f	f	2024-03-04 16:18:40.361	test who	\N	\N	\N	\N
+29	0	e147bba9-4389-47d5-90d1-45672e947173	\N	\N	1c764e48-dbda-4d6a-baf0-013be384dce0	\N	\N	Sys-AD2	SYS-AD2	System structure only	APPROVED	t	t	2024-03-04 16:18:40.484	test who	\N	\N	\N	\N
+24	1	e147bba9-4389-47d5-90d1-45672e947173	\N	\N	1c764e48-dbda-4d6a-baf0-013be384dce0	\N	\N	Sys-AD2	SYS-AD2	System structure only	APPROVED	f	f	2024-03-04 16:18:40.361	test who	\N	\N	\N	\N
+30	0	0bfa9007-1399-418e-94b2-cff5185d09a3	\N	\N	700ff3d0-ec0f-41b0-9d0d-dfd4c8091b9d	\N	\N	Sys-AD3	SYS-AD3	System structure only	APPROVED	t	t	2024-03-04 16:18:40.488	test who	\N	\N	\N	\N
+25	1	0bfa9007-1399-418e-94b2-cff5185d09a3	\N	\N	700ff3d0-ec0f-41b0-9d0d-dfd4c8091b9d	\N	\N	Sys-AD3	SYS-AD3	System structure only	APPROVED	f	f	2024-03-04 16:18:40.361	test who	\N	\N	\N	\N
+31	0	7089a67c-5cad-40bb-8165-9fa7e7aa7eb4	\N	\N	ab167f84-7c67-4364-a6b7-42405d98cb69	\N	\N	Sys-AD4	SYS-AD4	System structure only	APPROVED	t	t	2024-03-04 16:18:40.491	test who	\N	\N	\N	\N
+26	1	7089a67c-5cad-40bb-8165-9fa7e7aa7eb4	\N	\N	ab167f84-7c67-4364-a6b7-42405d98cb69	\N	\N	Sys-AD4	SYS-AD4	System structure only	APPROVED	f	f	2024-03-04 16:18:40.361	test who	\N	\N	\N	\N
+32	0	25b75ada-e6c6-4255-9268-f940adfc1729	\N	\N	8f76876a-504e-4402-bd60-6bb4c60d4d29	\N	\N	Sys-AD5	SYS-AD5	System structure only	APPROVED	t	t	2024-03-04 16:18:40.496	test who	\N	\N	\N	\N
+27	1	25b75ada-e6c6-4255-9268-f940adfc1729	\N	\N	8f76876a-504e-4402-bd60-6bb4c60d4d29	\N	\N	Sys-AD5	SYS-AD5	System structure only	APPROVED	f	f	2024-03-04 16:18:40.361	test who	\N	\N	\N	\N
+33	0	dec7ecf7-b8a3-4bcd-a0bf-cce3def865c8	\N	\N	b8485a11-1c59-4ef5-876b-16a49512d457	\N	\N	Sys-AE1	SYS-AE1	System structure only	APPROVED	t	f	2024-03-04 16:18:40.556	test who	\N	\N	\N	\N
+34	0	5644b3da-abfa-45ff-beb6-68c4f87aa237	\N	\N	30fbb919-376d-40d2-9bd2-3c9fd7b952da	\N	\N	Sys-AE2	SYS-AE2	System structure only	APPROVED	t	f	2024-03-04 16:18:40.556	test who	\N	\N	\N	\N
+35	0	aaee4277-8fd0-46fc-b80d-bc87333a506d	\N	\N	89feee5b-5003-4dc6-a693-d0e2dd92112b	\N	\N	Sys-AE3	SYS-AE3	System structure only	APPROVED	t	f	2024-03-04 16:18:40.556	test who	\N	\N	\N	\N
+36	0	8813dbcd-0454-45f3-ac5d-24559042218e	\N	\N	f4eaf55f-01bb-4a37-8d61-56f576444dd7	\N	\N	Sys-AE4	SYS-AE4	System structure only	APPROVED	t	f	2024-03-04 16:18:40.556	test who	\N	\N	\N	\N
+37	0	1b7f2c10-5504-42cb-aaf4-2aa1230aafd8	\N	\N	87932c6c-909e-4165-a75d-2bc10db24415	\N	\N	Sys-AE5	SYS-AE5	System structure only	APPROVED	t	f	2024-03-04 16:18:40.556	test who	\N	\N	\N	\N
+43	0	523d31e4-fda3-4830-bb6a-d043b1a8fed6	\N	\N	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	\N	\N	Sys-AF1	SYS-AF1	System structure only	APPROVED	t	t	2024-03-04 16:18:41.008	test who	\N	\N	\N	\N
+38	1	523d31e4-fda3-4830-bb6a-d043b1a8fed6	\N	\N	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	\N	\N	Sys-AF1	SYS-AF1	System structure only	APPROVED	f	f	2024-03-04 16:18:40.822	test who	\N	\N	\N	\N
+44	0	8c59fa83-4f97-4225-86d7-5c7efc73cf75	\N	\N	0eb86e59-0afc-4a49-a554-4a449d1cec3d	\N	\N	Sys-AF2	SYS-AF2	System structure only	APPROVED	t	t	2024-03-04 16:18:41.012	test who	\N	\N	\N	\N
+39	1	8c59fa83-4f97-4225-86d7-5c7efc73cf75	\N	\N	0eb86e59-0afc-4a49-a554-4a449d1cec3d	\N	\N	Sys-AF2	SYS-AF2	System structure only	APPROVED	f	f	2024-03-04 16:18:40.822	test who	\N	\N	\N	\N
+45	0	fe412faa-2226-4bf0-82fb-96ada804a96f	\N	\N	efe208d0-4e11-4c28-b84c-f0d589448ccb	\N	\N	Sys-AF3	SYS-AF3	System structure only	APPROVED	t	t	2024-03-04 16:18:41.016	test who	\N	\N	\N	\N
+40	1	fe412faa-2226-4bf0-82fb-96ada804a96f	\N	\N	efe208d0-4e11-4c28-b84c-f0d589448ccb	\N	\N	Sys-AF3	SYS-AF3	System structure only	APPROVED	f	f	2024-03-04 16:18:40.822	test who	\N	\N	\N	\N
+46	0	767d91ec-0979-4a5f-a470-1d1898c83258	\N	\N	6746256a-3cfb-4b04-8250-29805a1fa4a4	\N	\N	Sys-AF4	SYS-AF4	System structure only	APPROVED	t	t	2024-03-04 16:18:41.019	test who	\N	\N	\N	\N
+41	1	767d91ec-0979-4a5f-a470-1d1898c83258	\N	\N	6746256a-3cfb-4b04-8250-29805a1fa4a4	\N	\N	Sys-AF4	SYS-AF4	System structure only	APPROVED	f	f	2024-03-04 16:18:40.822	test who	\N	\N	\N	\N
+47	0	c9a66287-5c79-4bb2-98f3-60cb9eb902b9	\N	\N	d2bac9ef-4a4a-43c4-855a-ba22d1005798	\N	\N	Sys-AF5	SYS-AF5	System structure only	APPROVED	t	t	2024-03-04 16:18:41.022	test who	\N	\N	\N	\N
+42	1	c9a66287-5c79-4bb2-98f3-60cb9eb902b9	\N	\N	d2bac9ef-4a4a-43c4-855a-ba22d1005798	\N	\N	Sys-AF5	SYS-AF5	System structure only	APPROVED	f	f	2024-03-04 16:18:40.822	test who	\N	\N	\N	\N
 \.
 
 
@@ -1050,7 +1097,7 @@ COPY public.name (id, version, uuid, systemgroup_uuid, system_uuid, subsystem_uu
 -- Name: name_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 --
 
-SELECT pg_catalog.setval('public.name_id_seq', 1, true);
+SELECT pg_catalog.setval('public.name_id_seq', 47, true);
 
 
 --
@@ -1097,67 +1144,92 @@ SELECT pg_catalog.setval('public.namepartrevision_id_seq', 1, false);
 -- Data for Name: subsystem; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.subsystem (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	bf198d61-e4c8-4bfb-a782-e5febdca3434	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AA1	AA1	description	APPROVED	t	f	2024-01-02 14:10:10.623	test who	comment	2024-01-02 14:10:10.67	test who	comment
-2	1	93034f9f-4d46-4b97-b9f3-0dc3bebd1a44	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AA2	AA2	description	APPROVED	t	f	2024-01-02 14:10:10.71	test who	comment	2024-01-02 14:10:10.74	test who	comment
-3	1	191815db-f25f-4bdd-a296-81a69d82d6dc	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AA3	AA3	description	APPROVED	t	f	2024-01-02 14:10:10.777	test who	comment	2024-01-02 14:10:10.807	test who	comment
-4	1	b42fadc1-f6e1-4fbb-a687-e8df018db482	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AA4	AA4	description	APPROVED	t	f	2024-01-02 14:10:10.852	test who	comment	2024-01-02 14:10:10.88	test who	comment
-5	1	0721390f-05b3-4093-a954-7012084b2c24	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AA5	AA5	description	APPROVED	t	f	2024-01-02 14:10:10.912	test who	comment	2024-01-02 14:10:10.939	test who	comment
-6	1	80174ab5-f1e7-4c75-beb4-5542f153e98c	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AB1	AB1	description	CANCELLED	f	f	2024-01-02 14:10:10.977	test who	comment	2024-01-02 14:10:11.003	test who	comment
-7	1	6a354c12-82fe-4725-996e-3e8d7af24a97	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AB2	AB2	description	CANCELLED	f	f	2024-01-02 14:10:11.036	test who	comment	2024-01-02 14:10:11.071	test who	comment
-8	1	0582fadc-11c4-4fe2-b091-afc435c36343	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AB3	AB3	description	CANCELLED	f	f	2024-01-02 14:10:11.093	test who	comment	2024-01-02 14:10:11.116	test who	comment
-9	1	cba8ca99-0913-40f0-8d6c-9d0276ae652c	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AB4	AB4	description	CANCELLED	f	f	2024-01-02 14:10:11.139	test who	comment	2024-01-02 14:10:11.159	test who	comment
-10	1	e4cba52f-7f63-4347-b302-0fee6526ab71	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AB5	AB5	description	CANCELLED	f	f	2024-01-02 14:10:11.18	test who	comment	2024-01-02 14:10:11.2	test who	comment
-11	1	0b2929ab-a3b3-491b-b541-761d0f8a4527	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AC1	AC1	description	REJECTED	f	f	2024-01-02 14:10:11.224	test who	comment	2024-01-02 14:10:11.245	test who	comment
-12	1	4e52fa1d-2660-4855-9d3b-00e0cdf9ecdd	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AC2	AC2	description	REJECTED	f	f	2024-01-02 14:10:11.266	test who	comment	2024-01-02 14:10:11.285	test who	comment
-13	1	7db2efed-54b8-4b40-9bae-c44464661a80	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AC3	AC3	description	REJECTED	f	f	2024-01-02 14:10:11.31	test who	comment	2024-01-02 14:10:11.332	test who	comment
-14	1	dc3548fb-66f3-4258-b17b-ee5ab88445fe	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AC4	AC4	description	REJECTED	f	f	2024-01-02 14:10:11.353	test who	comment	2024-01-02 14:10:11.372	test who	comment
-15	1	231d8e96-3afd-497c-bef4-86437cf07cb9	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AC5	AC5	description	REJECTED	f	f	2024-01-02 14:10:11.394	test who	comment	2024-01-02 14:10:11.415	test who	comment
-16	0	c00924f0-6f2a-4296-b694-ec4eb845ae4c	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AD1	AD1	description	PENDING	f	f	2024-01-02 14:10:11.435	test who	comment	\N	\N	\N
-17	0	1ad22b9d-2d58-417f-b7c8-8a04e8ca9857	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AD2	AD2	description	PENDING	f	f	2024-01-02 14:10:11.459	test who	comment	\N	\N	\N
-18	0	cd976976-123a-47fb-8e05-06ecf348ad75	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AD3	AD3	description	PENDING	f	f	2024-01-02 14:10:11.491	test who	comment	\N	\N	\N
-19	0	3ed7a658-86f3-4684-9280-fea2c760596e	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AD4	AD4	description	PENDING	f	f	2024-01-02 14:10:11.517	test who	comment	\N	\N	\N
-20	0	9675d178-c7a8-4a03-906b-516b86cffa72	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AD5	AD5	description	PENDING	f	f	2024-01-02 14:10:11.537	test who	comment	\N	\N	\N
-21	2	49d97dc0-bfe6-4dd7-b1ec-511870ef8a9f	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE1	AE1	description	APPROVED	f	f	2024-01-02 14:10:11.557	test who	comment	2024-01-02 14:10:11.581	test who	comment
-22	2	49d97dc0-bfe6-4dd7-b1ec-511870ef8a9f	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE1	AE1	some other description	APPROVED	f	f	2024-01-02 14:10:11.624	test who	some other comment	2024-01-02 14:10:11.65	test who	some other comment
-23	1	49d97dc0-bfe6-4dd7-b1ec-511870ef8a9f	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE1	AE1	more description	APPROVED	t	f	2024-01-02 14:10:11.689	test who	more comment	2024-01-02 14:10:11.725	test who	more comment
-24	1	49d97dc0-bfe6-4dd7-b1ec-511870ef8a9f	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE1	AE1	more description	REJECTED	f	t	2024-01-02 14:10:11.763	test who	comment	2024-01-02 14:10:11.794	test who	comment
-25	2	8c9cefc9-549e-4ab2-8385-850b77dc51aa	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE2	AE2	description	APPROVED	f	f	2024-01-02 14:10:11.827	test who	comment	2024-01-02 14:10:11.857	test who	comment
-26	2	8c9cefc9-549e-4ab2-8385-850b77dc51aa	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE2	AE2	some other description	APPROVED	f	f	2024-01-02 14:10:11.89	test who	some other comment	2024-01-02 14:10:11.924	test who	some other comment
-27	1	8c9cefc9-549e-4ab2-8385-850b77dc51aa	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE2	AE2	more description	APPROVED	t	f	2024-01-02 14:10:11.957	test who	more comment	2024-01-02 14:10:11.984	test who	more comment
-28	1	8c9cefc9-549e-4ab2-8385-850b77dc51aa	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE2	AE2	more description	REJECTED	f	t	2024-01-02 14:10:12.005	test who	comment	2024-01-02 14:10:12.036	test who	comment
-29	2	a3b65288-9b15-4111-9c07-89ac0335c442	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE3	AE3	description	APPROVED	f	f	2024-01-02 14:10:12.069	test who	comment	2024-01-02 14:10:12.099	test who	comment
-30	2	a3b65288-9b15-4111-9c07-89ac0335c442	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE3	AE3	some other description	APPROVED	f	f	2024-01-02 14:10:12.128	test who	some other comment	2024-01-02 14:10:12.153	test who	some other comment
-31	1	a3b65288-9b15-4111-9c07-89ac0335c442	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE3	AE3	more description	APPROVED	t	f	2024-01-02 14:10:12.185	test who	more comment	2024-01-02 14:10:12.204	test who	more comment
-32	1	a3b65288-9b15-4111-9c07-89ac0335c442	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE3	AE3	more description	REJECTED	f	t	2024-01-02 14:10:12.224	test who	comment	2024-01-02 14:10:12.245	test who	comment
-33	2	73002440-4a1a-4d36-97c0-260ca06d41c4	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE4	AE4	description	APPROVED	f	f	2024-01-02 14:10:12.274	test who	comment	2024-01-02 14:10:12.301	test who	comment
-34	2	73002440-4a1a-4d36-97c0-260ca06d41c4	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE4	AE4	some other description	APPROVED	f	f	2024-01-02 14:10:12.33	test who	some other comment	2024-01-02 14:10:12.349	test who	some other comment
-35	1	73002440-4a1a-4d36-97c0-260ca06d41c4	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE4	AE4	more description	APPROVED	t	f	2024-01-02 14:10:12.368	test who	more comment	2024-01-02 14:10:12.386	test who	more comment
-36	1	73002440-4a1a-4d36-97c0-260ca06d41c4	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE4	AE4	more description	REJECTED	f	t	2024-01-02 14:10:12.413	test who	comment	2024-01-02 14:10:12.43	test who	comment
-37	2	9f768e3a-7643-44f2-b0ce-9c8ed41024d1	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE5	AE5	description	APPROVED	f	f	2024-01-02 14:10:12.45	test who	comment	2024-01-02 14:10:12.47	test who	comment
-38	2	9f768e3a-7643-44f2-b0ce-9c8ed41024d1	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE5	AE5	some other description	APPROVED	f	f	2024-01-02 14:10:12.496	test who	some other comment	2024-01-02 14:10:12.528	test who	some other comment
-39	1	9f768e3a-7643-44f2-b0ce-9c8ed41024d1	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE5	AE5	more description	APPROVED	t	f	2024-01-02 14:10:12.562	test who	more comment	2024-01-02 14:10:12.593	test who	more comment
-40	1	9f768e3a-7643-44f2-b0ce-9c8ed41024d1	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AE5	AE5	more description	REJECTED	f	t	2024-01-02 14:10:12.618	test who	comment	2024-01-02 14:10:12.643	test who	comment
-41	2	94635ca4-bf61-46e0-863f-84934a61117b	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF1	AF1	description	APPROVED	f	f	2024-01-02 14:10:12.663	test who	comment	2024-01-02 14:10:12.69	test who	comment
-42	1	94635ca4-bf61-46e0-863f-84934a61117b	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF1	AF1	description	APPROVED	t	t	2024-01-02 14:10:12.718	test who	comment	2024-01-02 14:10:12.745	test who	comment
-43	2	a50a7a4b-cb5e-40a1-b286-05012276dcc0	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF2	AF2	description	APPROVED	f	f	2024-01-02 14:10:12.768	test who	comment	2024-01-02 14:10:12.791	test who	comment
-44	1	a50a7a4b-cb5e-40a1-b286-05012276dcc0	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF2	AF2	description	APPROVED	t	t	2024-01-02 14:10:12.818	test who	comment	2024-01-02 14:10:12.837	test who	comment
-45	2	8c5bdae5-2b9b-4490-9e15-566739f36e1b	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF3	AF3	description	APPROVED	f	f	2024-01-02 14:10:12.861	test who	comment	2024-01-02 14:10:12.888	test who	comment
-46	1	8c5bdae5-2b9b-4490-9e15-566739f36e1b	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF3	AF3	description	APPROVED	t	t	2024-01-02 14:10:12.906	test who	comment	2024-01-02 14:10:12.924	test who	comment
-47	2	e48112ff-18b6-4691-bbcd-03be6b735a17	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF4	AF4	description	APPROVED	f	f	2024-01-02 14:10:12.949	test who	comment	2024-01-02 14:10:12.965	test who	comment
-48	1	e48112ff-18b6-4691-bbcd-03be6b735a17	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF4	AF4	description	APPROVED	t	t	2024-01-02 14:10:12.991	test who	comment	2024-01-02 14:10:13.009	test who	comment
-49	2	2da50b7c-185d-4f6e-8273-9f68943a7bc5	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF5	AF5	description	APPROVED	f	f	2024-01-02 14:10:13.03	test who	comment	2024-01-02 14:10:13.046	test who	comment
-50	1	2da50b7c-185d-4f6e-8273-9f68943a7bc5	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AF5	AF5	description	APPROVED	t	t	2024-01-02 14:10:13.063	test who	comment	2024-01-02 14:10:13.08	test who	comment
-51	1	c3d18240-319e-4915-86fc-2a45bc02f537	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG1	AG1	description	APPROVED	t	f	2024-01-02 14:10:13.1	test who	comment	2024-01-02 14:10:13.121	test who	comment
-52	0	c3d18240-319e-4915-86fc-2a45bc02f537	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG1	AG1	description	PENDING	f	t	2024-01-02 14:10:13.142	test who	comment	\N	\N	\N
-53	1	870b93f4-df90-4c03-8373-7ac5767256b8	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG2	AG2	description	APPROVED	t	f	2024-01-02 14:10:13.168	test who	comment	2024-01-02 14:10:13.191	test who	comment
-54	0	870b93f4-df90-4c03-8373-7ac5767256b8	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG2	AG2	description	PENDING	f	t	2024-01-02 14:10:13.208	test who	comment	\N	\N	\N
-55	1	ddc87e8d-6641-4159-ba2a-15180cb6c076	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG3	AG3	description	APPROVED	t	f	2024-01-02 14:10:13.225	test who	comment	2024-01-02 14:10:13.246	test who	comment
-56	0	ddc87e8d-6641-4159-ba2a-15180cb6c076	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG3	AG3	description	PENDING	f	t	2024-01-02 14:10:13.276	test who	comment	\N	\N	\N
-57	1	43906547-007d-4ac2-baa7-20b99b299ee3	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG4	AG4	description	APPROVED	t	f	2024-01-02 14:10:13.301	test who	comment	2024-01-02 14:10:13.321	test who	comment
-58	0	43906547-007d-4ac2-baa7-20b99b299ee3	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG4	AG4	description	PENDING	f	t	2024-01-02 14:10:13.343	test who	comment	\N	\N	\N
-59	1	43502b1d-5002-434e-b265-f7487cc8cc8b	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG5	AG5	description	APPROVED	t	f	2024-01-02 14:10:13.363	test who	comment	2024-01-02 14:10:13.379	test who	comment
-60	0	43502b1d-5002-434e-b265-f7487cc8cc8b	dbf3b52d-d212-4ace-9b3a-099e8902beaf	name	AG5	AG5	description	PENDING	f	t	2024-01-02 14:10:13.396	test who	comment	\N	\N	\N
+COPY public.subsystem (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	0ccfe162-7bf2-46f0-b670-910e9c7a0f99	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AA1	AA1	1	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:39.858	test who	\N
+2	0	4fe32787-9e4e-48df-b2d4-413b6310ddd8	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AA2	AA2	1	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:39.858	test who	\N
+3	0	921fd974-b02e-4535-9fa4-832e1f413a2f	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AA3	AA3	1	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:39.858	test who	\N
+4	0	d8c8a289-3b50-4d45-bff0-0ba6933235fd	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AA4	AA4	1	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:39.858	test who	\N
+5	0	ca0d26d2-fcf0-4844-9509-9c60835857e1	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AA5	AA5	1	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:39.858	test who	\N
+11	0	ed15e5ff-0641-4185-9fb0-f43702a14350	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB1	AB1	2	some other description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.081	test who	\N
+6	1	ed15e5ff-0641-4185-9fb0-f43702a14350	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB1	AB1	2	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:39.95	test who	\N
+12	0	8e158f4b-0ea5-4ca9-87ae-def88d72a647	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB2	AB2	2	some other description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.081	test who	\N
+7	1	8e158f4b-0ea5-4ca9-87ae-def88d72a647	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB2	AB2	2	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:39.95	test who	\N
+13	0	b8e9bbfc-e3c4-4eef-883e-0e2d0709ec03	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB3	AB3	2	some other description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.081	test who	\N
+8	1	b8e9bbfc-e3c4-4eef-883e-0e2d0709ec03	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB3	AB3	2	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:39.95	test who	\N
+14	0	d13ea971-d722-45ea-bbab-96c5e221a344	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB4	AB4	2	some other description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.081	test who	\N
+9	1	d13ea971-d722-45ea-bbab-96c5e221a344	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB4	AB4	2	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:39.95	test who	\N
+15	0	63d701ba-555b-41fd-9810-9d87454aa1fa	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB5	AB5	2	some other description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.081	test who	\N
+10	1	63d701ba-555b-41fd-9810-9d87454aa1fa	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AB5	AB5	2	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:39.95	test who	\N
+21	0	9659c6e8-7d37-47d8-aaf6-eeb7ada222d1	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC1	AC1	3	description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.254	test who	\N
+16	1	9659c6e8-7d37-47d8-aaf6-eeb7ada222d1	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC1	AC1	3	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.157	test who	\N
+22	0	0db3c127-d8f7-48ea-8af1-6433928f928b	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC2	AC2	3	description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.254	test who	\N
+17	1	0db3c127-d8f7-48ea-8af1-6433928f928b	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC2	AC2	3	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.157	test who	\N
+23	0	5d1164af-e155-433e-a8e6-1a60cbc315b8	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC3	AC3	3	description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.254	test who	\N
+18	1	5d1164af-e155-433e-a8e6-1a60cbc315b8	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC3	AC3	3	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.157	test who	\N
+24	0	2542b027-513b-40bb-9be8-74fcb400459e	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC4	AC4	3	description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.254	test who	\N
+19	1	2542b027-513b-40bb-9be8-74fcb400459e	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC4	AC4	3	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.157	test who	\N
+25	0	e1e4b087-c3d5-409f-9a5f-a9e9f84962fb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC5	AC5	3	description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.254	test who	\N
+20	1	e1e4b087-c3d5-409f-9a5f-a9e9f84962fb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AC5	AC5	3	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.157	test who	\N
+26	1	2cb15615-72a4-48af-aa88-57fe20caaebe	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD1	AD1	4	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.361	test who	\N
+27	1	1c764e48-dbda-4d6a-baf0-013be384dce0	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD2	AD2	4	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.361	test who	\N
+28	1	700ff3d0-ec0f-41b0-9d0d-dfd4c8091b9d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD3	AD3	4	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.361	test who	\N
+29	1	ab167f84-7c67-4364-a6b7-42405d98cb69	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD4	AD4	4	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.361	test who	\N
+30	1	8f76876a-504e-4402-bd60-6bb4c60d4d29	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD5	AD5	4	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.361	test who	\N
+36	0	2cb15615-72a4-48af-aa88-57fe20caaebe	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD1	AD1	4	some other description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.478	test who	\N
+31	1	2cb15615-72a4-48af-aa88-57fe20caaebe	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD1	AD1	4	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.43	test who	\N
+37	0	1c764e48-dbda-4d6a-baf0-013be384dce0	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD2	AD2	4	some other description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.478	test who	\N
+32	1	1c764e48-dbda-4d6a-baf0-013be384dce0	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD2	AD2	4	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.43	test who	\N
+38	0	700ff3d0-ec0f-41b0-9d0d-dfd4c8091b9d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD3	AD3	4	some other description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.478	test who	\N
+33	1	700ff3d0-ec0f-41b0-9d0d-dfd4c8091b9d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD3	AD3	4	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.43	test who	\N
+39	0	ab167f84-7c67-4364-a6b7-42405d98cb69	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD4	AD4	4	some other description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.478	test who	\N
+34	1	ab167f84-7c67-4364-a6b7-42405d98cb69	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD4	AD4	4	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.43	test who	\N
+40	0	8f76876a-504e-4402-bd60-6bb4c60d4d29	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD5	AD5	4	some other description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:40.478	test who	\N
+35	1	8f76876a-504e-4402-bd60-6bb4c60d4d29	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AD5	AD5	4	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.43	test who	\N
+41	1	b8485a11-1c59-4ef5-876b-16a49512d457	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE1	AE1	5	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.556	test who	\N
+42	1	30fbb919-376d-40d2-9bd2-3c9fd7b952da	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE2	AE2	5	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.556	test who	\N
+43	1	89feee5b-5003-4dc6-a693-d0e2dd92112b	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE3	AE3	5	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.556	test who	\N
+44	1	f4eaf55f-01bb-4a37-8d61-56f576444dd7	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE4	AE4	5	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.556	test who	\N
+45	1	87932c6c-909e-4165-a75d-2bc10db24415	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE5	AE5	5	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.556	test who	\N
+46	1	b8485a11-1c59-4ef5-876b-16a49512d457	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE1	AE1	5	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.633	test who	\N
+47	1	30fbb919-376d-40d2-9bd2-3c9fd7b952da	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE2	AE2	5	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.633	test who	\N
+48	1	89feee5b-5003-4dc6-a693-d0e2dd92112b	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE3	AE3	5	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.633	test who	\N
+49	1	f4eaf55f-01bb-4a37-8d61-56f576444dd7	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE4	AE4	5	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.633	test who	\N
+50	1	87932c6c-909e-4165-a75d-2bc10db24415	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE5	AE5	5	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.633	test who	\N
+56	0	b8485a11-1c59-4ef5-876b-16a49512d457	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE1	AE1	5	yet another description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.768	test who	\N
+51	1	b8485a11-1c59-4ef5-876b-16a49512d457	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE1	AE1	5	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.698	test who	\N
+57	0	30fbb919-376d-40d2-9bd2-3c9fd7b952da	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE2	AE2	5	yet another description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.768	test who	\N
+52	1	30fbb919-376d-40d2-9bd2-3c9fd7b952da	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE2	AE2	5	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.698	test who	\N
+58	0	89feee5b-5003-4dc6-a693-d0e2dd92112b	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE3	AE3	5	yet another description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.768	test who	\N
+53	1	89feee5b-5003-4dc6-a693-d0e2dd92112b	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE3	AE3	5	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.698	test who	\N
+59	0	f4eaf55f-01bb-4a37-8d61-56f576444dd7	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE4	AE4	5	yet another description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.768	test who	\N
+54	1	f4eaf55f-01bb-4a37-8d61-56f576444dd7	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE4	AE4	5	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.698	test who	\N
+60	0	87932c6c-909e-4165-a75d-2bc10db24415	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE5	AE5	5	yet another description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:40.768	test who	\N
+55	1	87932c6c-909e-4165-a75d-2bc10db24415	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AE5	AE5	5	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.698	test who	\N
+61	1	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF1	AF1	6	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.822	test who	\N
+62	1	0eb86e59-0afc-4a49-a554-4a449d1cec3d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF2	AF2	6	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.822	test who	\N
+63	1	efe208d0-4e11-4c28-b84c-f0d589448ccb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF3	AF3	6	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.822	test who	\N
+64	1	6746256a-3cfb-4b04-8250-29805a1fa4a4	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF4	AF4	6	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.822	test who	\N
+65	1	d2bac9ef-4a4a-43c4-855a-ba22d1005798	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF5	AF5	6	description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.822	test who	\N
+66	1	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF1	AF1	6	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.872	test who	\N
+67	1	0eb86e59-0afc-4a49-a554-4a449d1cec3d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF2	AF2	6	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.872	test who	\N
+68	1	efe208d0-4e11-4c28-b84c-f0d589448ccb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF3	AF3	6	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.872	test who	\N
+69	1	6746256a-3cfb-4b04-8250-29805a1fa4a4	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF4	AF4	6	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.872	test who	\N
+71	1	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF1	AF1	6	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.921	test who	\N
+72	1	0eb86e59-0afc-4a49-a554-4a449d1cec3d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF2	AF2	6	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.921	test who	\N
+73	1	efe208d0-4e11-4c28-b84c-f0d589448ccb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF3	AF3	6	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.921	test who	\N
+74	1	6746256a-3cfb-4b04-8250-29805a1fa4a4	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF4	AF4	6	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.921	test who	\N
+75	1	d2bac9ef-4a4a-43c4-855a-ba22d1005798	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF5	AF5	6	more description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.921	test who	\N
+70	1	d2bac9ef-4a4a-43c4-855a-ba22d1005798	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF5	AF5	6	some other description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.872	test who	\N
+81	0	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF1	AF1	6	yet another description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:41.006	test who	\N
+76	1	9ce444c8-4dd9-4456-84fa-ff3f60a6dbf3	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF1	AF1	6	yet another description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.959	test who	\N
+82	0	0eb86e59-0afc-4a49-a554-4a449d1cec3d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF2	AF2	6	yet another description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:41.006	test who	\N
+77	1	0eb86e59-0afc-4a49-a554-4a449d1cec3d	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF2	AF2	6	yet another description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.959	test who	\N
+83	0	efe208d0-4e11-4c28-b84c-f0d589448ccb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF3	AF3	6	yet another description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:41.006	test who	\N
+78	1	efe208d0-4e11-4c28-b84c-f0d589448ccb	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF3	AF3	6	yet another description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.959	test who	\N
+84	0	6746256a-3cfb-4b04-8250-29805a1fa4a4	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF4	AF4	6	yet another description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:41.006	test who	\N
+79	1	6746256a-3cfb-4b04-8250-29805a1fa4a4	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF4	AF4	6	yet another description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.959	test who	\N
+85	0	d2bac9ef-4a4a-43c4-855a-ba22d1005798	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF5	AF5	6	yet another description	APPROVED	t	t	\N	\N	\N	2024-03-04 16:18:41.006	test who	\N
+80	1	d2bac9ef-4a4a-43c4-855a-ba22d1005798	25a231ac-cc79-43f0-a8aa-00d34b6262a8	AF5	AF5	6	yet another description	APPROVED	f	f	\N	\N	\N	2024-03-04 16:18:40.959	test who	\N
 \.
 
 
@@ -1167,7 +1239,7 @@ COPY public.subsystem (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_
 -- Name: subsystem_id_seq; Type: SEQUENCE SET; Schema: public; Owner: -
 --
 
-SELECT pg_catalog.setval('public.subsystem_id_seq', 60, true);
+SELECT pg_catalog.setval('public.subsystem_id_seq', 85, true);
 
 
 --
@@ -1176,8 +1248,8 @@ SELECT pg_catalog.setval('public.subsystem_id_seq', 60, true);
 -- Data for Name: system; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.system (id, version, uuid, parent_uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	dbf3b52d-d212-4ace-9b3a-099e8902beaf	944db2b0-a880-4289-b1c2-b7aa98cab1b2	name	Sys	SYS	description	APPROVED	t	f	2024-01-02 14:10:10.492	test who	comment	2024-01-02 14:10:10.563	test who	comment
+COPY public.system (id, version, uuid, parent_uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	25a231ac-cc79-43f0-a8aa-00d34b6262a8	b3f5b914-9607-4df8-a701-553f4d238e1e	Sys	SYS	\N	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:39.52	test who	\N
 \.
 
 
@@ -1196,8 +1268,8 @@ SELECT pg_catalog.setval('public.system_id_seq', 1, true);
 -- Data for Name: systemgroup; Type: TABLE DATA; Schema: public; Owner: -
 --
 
-COPY public.systemgroup (id, version, uuid, name, mnemonic, mnemonic_equivalence, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
-1	1	944db2b0-a880-4289-b1c2-b7aa98cab1b2	name	Sg	SG	description	APPROVED	t	f	2024-01-02 14:10:10.057	test who	comment	2024-01-02 14:10:10.373	test who	comment
+COPY public.systemgroup (id, version, uuid, mnemonic, mnemonic_equivalence, ordering, description, status, latest, deleted, requested, requested_by, requested_comment, processed, processed_by, processed_comment) FROM stdin;
+1	0	b3f5b914-9607-4df8-a701-553f4d238e1e	Sg	SG	\N	description	APPROVED	t	f	\N	\N	\N	2024-03-04 16:18:38.976	test who	\N
 \.
 
 
@@ -1303,7 +1375,7 @@ ALTER TABLE ONLY public.discipline
 
 
 --
--- TOC entry 2190 (class 2606 OID 16620)
+-- TOC entry 2187 (class 2606 OID 16620)
 -- Name: name name_pk; Type: CONSTRAINT; Schema: public; Owner: -
 --
 
@@ -1551,59 +1623,59 @@ CREATE INDEX name_deleted_idx ON public.name USING btree (deleted);
 
 
 --
--- TOC entry 2183 (class 1259 OID 16571)
--- Name: name_id_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2183 (class 1259 OID 16575)
+-- Name: name_devicetype_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_id_idx ON public.name USING btree (id);
+CREATE INDEX name_devicetype_uuid_idx ON public.name USING btree (devicetype_uuid);
 
 
 --
--- TOC entry 2184 (class 1259 OID 16585)
--- Name: name_latest_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2184 (class 1259 OID 16571)
+-- Name: name_id_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_latest_idx ON public.name USING btree (latest);
+CREATE INDEX name_id_idx ON public.name USING btree (id);
 
 
 --
--- TOC entry 2185 (class 1259 OID 16575)
--- Name: name_namepartrevision_devicetype_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2185 (class 1259 OID 16585)
+-- Name: name_latest_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_devicetype_uuid_idx ON public.name USING btree (devicetype_uuid);
+CREATE INDEX name_latest_idx ON public.name USING btree (latest);
 
 
 --
--- TOC entry 2186 (class 1259 OID 16574)
--- Name: name_namepartrevision_subsystem_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2188 (class 1259 OID 16577)
+-- Name: name_status_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_subsystem_uuid_idx ON public.name USING btree (subsystem_uuid);
+CREATE INDEX name_status_idx ON public.name USING btree (status);
 
 
 --
--- TOC entry 2187 (class 1259 OID 16573)
--- Name: name_namepartrevision_system_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2189 (class 1259 OID 16574)
+-- Name: name_subsystem_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_system_uuid_idx ON public.name USING btree (system_uuid);
+CREATE INDEX name_subsystem_uuid_idx ON public.name USING btree (subsystem_uuid);
 
 
 --
--- TOC entry 2188 (class 1259 OID 16572)
--- Name: name_namepartrevision_systemgroup_uuid_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2190 (class 1259 OID 16573)
+-- Name: name_system_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_namepartrevision_systemgroup_uuid_idx ON public.name USING btree (systemgroup_uuid);
+CREATE INDEX name_system_uuid_idx ON public.name USING btree (system_uuid);
 
 
 --
--- TOC entry 2191 (class 1259 OID 16577)
--- Name: name_status_idx; Type: INDEX; Schema: public; Owner: -
+-- TOC entry 2191 (class 1259 OID 16572)
+-- Name: name_systemgroup_uuid_idx; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX name_status_idx ON public.name USING btree (status);
+CREATE INDEX name_systemgroup_uuid_idx ON public.name USING btree (systemgroup_uuid);
 
 
 --
@@ -1846,7 +1918,7 @@ ALTER TABLE ONLY public.namepartrevision
     ADD CONSTRAINT fk_lufxqy46l9eiq55d445rbukag FOREIGN KEY (parent_id) REFERENCES public.namepart(id);
 
 
--- Completed on 2024-01-02 15:16:38 CET
+-- Completed on 2024-03-04 17:19:26 CET
 
 --
 -- PostgreSQL database dump complete
-- 
GitLab