diff --git a/Makefile b/Makefile
index 4b7c370926c74be5384209525f8f4cdf8e005ed7..390830d5d6f7bdc5784f21dff98fbcde0904210f 100644
--- a/Makefile
+++ b/Makefile
@@ -47,6 +47,8 @@ include $(MAKEFILE_IMPORT_PATH)directories-go-utilities.mk
 include $(MAKEFILE_IMPORT_PATH)output.mk
 include $(MAKEFILE_IMPORT_PATH)placeholder.mk
 #include $(MAKEFILE_IMPORT_PATH)conan.mk
+include $(MAKEFILE_IMPORT_PATH)go.mk
+include $(MAKEFILE_IMPORT_PATH)changelog.mk
 include $(MAKEFILE_IMPORT_PATH)s3.mk
 #include $(MAKEFILE_IMPORT_PATH)readme-standard.mk
 #include $(MAKEFILE_IMPORT_PATH)readme-webcomponents.mk
@@ -58,8 +60,7 @@ include $(MAKEFILE_IMPORT_PATH)license-agpl3.mk
 #include $(MAKEFILE_IMPORT_PATH)license-unlicensed.mk
 #include $(MAKEFILE_IMPORT_PATH)license-all-rights-reserved.mk
 #include $(MAKEFILE_IMPORT_PATH)jsdoc-json.mk
-include $(MAKEFILE_IMPORT_PATH)go.mk
-include $(MAKEFILE_IMPORT_PATH)changelog.mk
+#include $(MAKEFILE_IMPORT_PATH)changelog.mk
 #include $(MAKEFILE_IMPORT_PATH)docman.mk
 #include $(MAKEFILE_IMPORT_PATH)reqman.mk
 include $(MAKEFILE_IMPORT_PATH)git.mk
diff --git a/application/source/go.mod b/application/source/go.mod
index 7a68da199f72419ae6ad78a0a50997af9012e42d..f3d3b76acb933e2003e5ba6bbcd60e45a94577f4 100644
--- a/application/source/go.mod
+++ b/application/source/go.mod
@@ -1,35 +1,18 @@
 module gitlab.schukai.com/oss/bob
 
-
 go 1.20
 
 require (
-	github.com/andybalholm/cascadia v1.3.1
-	gitlab.schukai.com/oss/libraries/go/application/xflags v1.13.2
-	gitlab.schukai.com/oss/libraries/go/markup/html v0.3.0
-	golang.org/x/crypto v0.6.0
-	golang.org/x/net v0.6.0
+	github.com/andybalholm/cascadia v1.3.2
+	gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.0
+	gitlab.schukai.com/oss/libraries/go/markup/html v0.4.0
+	golang.org/x/crypto v0.10.0
+	golang.org/x/net v0.11.0
 	gopkg.in/yaml.v3 v3.0.1
 )
 
 require (
-	github.com/davecgh/go-spew v1.1.1 // indirect
-	github.com/fsnotify/fsnotify v1.6.0 // indirect
-	github.com/golang/protobuf v1.5.2 // indirect
-	github.com/imdario/mergo v0.3.13 // indirect
-	github.com/magiconair/properties v1.8.6 // indirect
-	github.com/pelletier/go-toml/v2 v2.0.5 // indirect
-	github.com/pmezard/go-difflib v1.0.0 // indirect
-	github.com/r3labs/diff/v3 v3.0.0 // indirect
-	github.com/stretchr/testify v1.8.1 // indirect
-	github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
 	github.com/volker-schukai/tokenizer v1.0.0 // indirect
-	gitlab.schukai.com/oss/libraries/go/application/configuration v1.14.0 // indirect
-	gitlab.schukai.com/oss/libraries/go/network/http-negotiation v1.3.0 // indirect
 	gitlab.schukai.com/oss/libraries/go/utilities/data.git v0.2.0 // indirect
 	gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.5.2 // indirect
-	golang.org/x/exp v0.0.0-20221023144134-a1e5550cf13e // indirect
-	golang.org/x/sys v0.5.0 // indirect
-	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/protobuf v1.28.1 // indirect
 )
diff --git a/application/source/go.sum b/application/source/go.sum
index 281ce451412f61411b838efac526b12a84e56a31..8160b77756b53f4493928907157c13bbc8c04ebe 100644
--- a/application/source/go.sum
+++ b/application/source/go.sum
@@ -1,65 +1,74 @@
 github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c=
 github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA=
+github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss=
+github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg=
-github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
-github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/r3labs/diff/v3 v3.0.0/go.mod h1:wCkTySAiDnZao1sZrVTDIzuzgLZ+cNPGn3LC8DlIg5g=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
-github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
-github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
-github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
+github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
 github.com/volker-schukai/tokenizer v1.0.0 h1:wF4haFoCodq7lgAk8c+th/DZmpFpL2WVD8wDzAGU1mA=
 github.com/volker-schukai/tokenizer v1.0.0/go.mod h1:LPw7lLIxUnZgeg96818N7IvwLE1x8ya31J/Aa0aCq9M=
-gitlab.schukai.com/oss/libraries/go/application/configuration v1.14.0/go.mod h1:me1BS/adhucf6h8t2ew0ifaNVio2vunQIYfpofUBbF8=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 gitlab.schukai.com/oss/libraries/go/application/xflags v1.13.2 h1:3nRDFUs629qL8EGxeX3gzNUqIR/04uUvXiW0G7qJ8Jk=
 gitlab.schukai.com/oss/libraries/go/application/xflags v1.13.2/go.mod h1:EEYPy5RYR4ahK9J6CTKSLFHUhP+ndHBWVdQMtGCFqDo=
+gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.0 h1:Z2XHuqbg4BIsYT+cM/Wz6gmbwm3wGRoD+yyhkxqlMy0=
+gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.0/go.mod h1:7haFwiRz+5kmVIiYp9LMp7g/flY034aolZ4tsH9Elkk=
 gitlab.schukai.com/oss/libraries/go/markup/html v0.3.0 h1:RvEQgV6yj8M1SjmR/FZwmwykfJSbHrDk8m7IIlujhxY=
 gitlab.schukai.com/oss/libraries/go/markup/html v0.3.0/go.mod h1:h0+dJUwXfF1QeaBxFiidgxA2I3A9qIPE+zhfs88pKV8=
-gitlab.schukai.com/oss/libraries/go/network/http-negotiation v1.3.0/go.mod h1:RS2rKf5O+rmSBshHLOgjG7dxg5N2MhNYokZOBcuXdX8=
+gitlab.schukai.com/oss/libraries/go/markup/html v0.4.0 h1:gnYhE5PAN5KxsRILVl3y3uPgDNLgHRQCJx2VO8h92Cg=
+gitlab.schukai.com/oss/libraries/go/markup/html v0.4.0/go.mod h1:HzmuHp0kWeICctL/lVz8up2qkyHxI1R48FojgF/aKs4=
 gitlab.schukai.com/oss/libraries/go/utilities/data.git v0.2.0 h1:JVxMHiA8zFVjJDhNl65XeYrhdMkzB+5dyrBUEZ982WU=
 gitlab.schukai.com/oss/libraries/go/utilities/data.git v0.2.0/go.mod h1:BsR4Y9jsvISplkW6UoLFRGxQX69/AUmP1SXRwWhx31o=
 gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.5.2 h1:R+dL2NJCM+AQNPK4DPDmfvx1eomi1Xb1dl0XKEFj7Ek=
 gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.5.2/go.mod h1:UvdD4NAf3gLKYafabJD7e9ZCOetzM9JZ9y4GkZukPVU=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
 golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
-golang.org/x/exp v0.0.0-20221023144134-a1e5550cf13e/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
+golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.6.0 h1:L4ZwwTvKW9gr0ZMS1yrHD9GZhIuVjOBBnaKH+SPQK0Q=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
+golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU=
+golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
+golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/development/makefiles/blackbox.mk b/development/makefiles/blackbox.mk
new file mode 100644
index 0000000000000000000000000000000000000000..c1f3e5f9b6556778ca1ffa83715ac5d599652cf6
--- /dev/null
+++ b/development/makefiles/blackbox.mk
@@ -0,0 +1,111 @@
+#############################################################################################
+#############################################################################################
+##
+## DEFINE BLACKBOX 
+##
+#############################################################################################
+#############################################################################################
+
+EXECUTABLES = $(EXECUTABLES:-) gpgconf git 
+
+BLACKBOX_ROOT_DIR     =  $(PROJECT_ROOT)
+BLACKBOX_BUILD_DIR    =  $(BLACKBOX_ROOT_DIR)build/blackbox
+BLACKBOX_CONFIG_PATH  =  $(BLACKBOX_ROOT_DIR).blackbox
+BLACKBOX_GPG_PATH	  =  $(shell gpgconf --list-dirs homedir)
+
+# The default image of blackbox
+# only local image is supported
+BLACKBOX_IMAGE_NAME= blackbox_local_temp_image
+BLACKBOX_IMAGE_HASH = $(shell git log --format="%h" -n 1)
+BLACKBOX_IMAGE      = $(BLACKBOX_IMAGE_NAME):$(BLACKBOX_IMAGE_HASH)
+
+define BLACKBOX_RUN_SCRIPT 
+#!/bin/bash
+
+function cleanup()
+{    
+  for FILE in $$(blackbox_list_files); do
+    blackbox_edit_end $${FILE} || exit 1
+  done
+  exit 0
+}
+
+if [ "$$#" -ne 1 ]; then
+  ## args are: open, close, run
+  echo "Usage: $$0 open|close|run"
+  exit 1
+fi
+
+## trap if arg is run
+if [ "$$1" == "run" ]; then
+  	# Intercepts the signal and then executes the command to encrypt.
+  	trap cleanup INT TERM SIGTERM SIGUSR1
+fi
+
+if [ "$$1" == "open" ] || [ "$$1" == "run" ]; then
+    echo "Opening files..."
+	for FILE in $$(blackbox_list_files); do
+	  blackbox_edit_start $${FILE} || exit 1
+	done
+fi 
+
+if [ "$$1" == "close" ]; then
+  echo "Closing files..."
+  for FILE in $$(blackbox_list_files); do
+	blackbox_edit_end $${FILE} || exit 1
+  done
+elif [ "$$1" == "run" ]; then
+  echo "Running command..."
+  while true; do
+    sleep 1
+  done
+
+elif [ "$$1" == "open" ]; then
+  exit 0  
+    
+else
+  echo "Unknown command: $$1"
+  exit 1
+fi
+
+
+endef
+
+define BLACKBOX_DOCKERFILE 
+FROM docker-registry.schukai.com:443/debian-bullseye-amd64-slim:snapshot  AS deb-builder
+
+RUN apt-get update && apt-get install git make rubygems build-essential
+RUN cd /opt/ && \
+    git clone https://github.com/StackExchange/blackbox.git
+
+RUN gem install fpm    
+
+RUN cd /opt/blackbox && \
+    make packages-deb
+
+FROM docker-registry.schukai.com:443/debian-bullseye-amd64-slim:snapshot
+
+RUN apt-get update && apt-get install git gnupg
+RUN sed -i /NAME=/s/=.*/'="Blackbox"'/ /etc/container-release ;
+
+COPY --from=deb-builder /root/debbuild-stack_blackbox/  /tmp/
+RUN apt-get install /tmp/*.deb 
+RUN mkdir /repos /root/.gnupg
+
+VOLUME [ "/repos" ]
+WORKDIR /repos 
+
+COPY ./filesystem/bin /bin/
+
+RUN chmod ugo+x /bin/run-blackbox.sh
+
+ARG UNAME=dummy
+ARG UID=1000
+ARG GID=1000
+
+RUN groupadd -g $$GID -o $$UNAME
+RUN useradd -m -u $$UID -g $$GID -o -s /bin/bash $$UNAME
+
+
+ENTRYPOINT [ "/bin/run-blackbox.sh" ]
+endef
\ No newline at end of file
diff --git a/development/makefiles/bob.mk b/development/makefiles/bob.mk
index 1ebfe277c286d86d86d51253c6275dd327aa159a..c779df31757b1998fc2d40e0c64a1e30d864608c 100644
--- a/development/makefiles/bob.mk
+++ b/development/makefiles/bob.mk
@@ -8,8 +8,15 @@
 
 
 BOB_BIN             ?= $(VENDOR_PATH)bob
-BOB_SNIPPED_CONFIG  ?= $(VENDOR_PATH)bob/snippet.conf
-BOB_SYNC_CONFIG     ?= $(VENDOR_PATH)bob/sync.conf
+#BOB_SNIPPED_CONFIG ?= $(VENDOR_PATH)bob/snippet.yaml
+BOB_SYNC_CONFIG     ?= $(VENDOR_PATH)bob/sync.yaml
+
+BOB_SOURCE_PATH     ?= $(SOURCE_PATH)
+
+BOB_DIST_PATH	           ?= $(DIST_PATH)bob/dist/
+BOB_HTML_TEMPLATES_PATH  ?=  $(BUILD_PATH)bob/build/
+
+BOB_DATA_FILE ?= data.yaml 
 
 define SYNCEXAMPLECONF
 sync:
diff --git a/development/makefiles/conan.mk b/development/makefiles/conan.mk
index 64dacde6f1c63ff0675faa641df6f467fbf30289..7025948407cdc675d8f745fe39ab7a52d1ec78bf 100644
--- a/development/makefiles/conan.mk
+++ b/development/makefiles/conan.mk
@@ -49,3 +49,9 @@ export CONANEXAMPLECONF
 $(CONAN_CONFIG):
 	$(QUIET) $(ECHO) "$$CONANEXAMPLECONF" >> $@
 
+
+
+$(CONAN_BIN):
+	$(QUIET) $(MKDIR) -p $(VENDOR_PATH)
+	$(QUIET) $(WGET) -O $(CONAN_BIN) http://download.schukai.com/tools/conan/conan-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`)
+	$(QUIET) $(CHMOD) u+x $(CONAN_BIN)
diff --git a/development/makefiles/directories-go-lib.mk b/development/makefiles/directories-go-lib.mk
index 5dd10706f18eb7c8bd9a62a293be4b59d1a59aac..257f8ab4051fe1852c021b00d509ba4a100d5361 100644
--- a/development/makefiles/directories-go-lib.mk
+++ b/development/makefiles/directories-go-lib.mk
@@ -10,6 +10,7 @@ APPLICATION_PATH          ?=   $(PROJECT_ROOT)
 DEPLOYMENT_PATH           ?=   $(PROJECT_ROOT)
 DEVELOPMENT_PATH          ?=   $(PROJECT_ROOT)
 DOCUMENTATION_PATH        ?=   $(PROJECT_ROOT)
+DOCUMENTATION_CONFIG_PATH ?=   $(DOCUMENTATION_PATH)config/
 
 RESOURCE_PATH             ?=   $(APPLICATION_PATH)
 SOURCE_PATH               ?=   $(APPLICATION_PATH)
diff --git a/development/makefiles/directories-go-utilities.mk b/development/makefiles/directories-go-utilities.mk
index f754f0370196ba8529d9cf23b614f0e6bb12788c..8fc26182636a50433b8832b20b36bd80c704140a 100644
--- a/development/makefiles/directories-go-utilities.mk
+++ b/development/makefiles/directories-go-utilities.mk
@@ -10,6 +10,7 @@ APPLICATION_PATH          ?=   $(PROJECT_ROOT)application/
 DEPLOYMENT_PATH           ?=   $(PROJECT_ROOT)deployment/
 DEVELOPMENT_PATH          ?=   $(PROJECT_ROOT)development/
 DOCUMENTATION_PATH        ?=   $(PROJECT_ROOT)documentation/
+DOCUMENTATION_CONFIG_PATH ?=   $(DOCUMENTATION_PATH)config/
 
 RESOURCE_PATH             ?=   $(APPLICATION_PATH)resource/
 SOURCE_PATH               ?=   $(APPLICATION_PATH)source/
diff --git a/development/makefiles/directories-platform-part.mk b/development/makefiles/directories-platform-part.mk
index 2a6c77de56c0865f781dcb32439217ace64dab24..8e17db76a718f84574e55049e470bcebdec3bbb4 100644
--- a/development/makefiles/directories-platform-part.mk
+++ b/development/makefiles/directories-platform-part.mk
@@ -11,21 +11,36 @@ SOURCE_PATH               ?=   $(PROJECT_ROOT)source/
 RELATIVE_SCRIPT_PATH      ?=   script/
 
 SCRIPT_PATH               ?=   $(PROJECT_ROOT)$(RELATIVE_SCRIPT_PATH)
+
+## DEPRECATED ALIAS
+SCRIPTS_PATH               =   $(SCRIPT_PATH)
+
+
 VENDOR_PATH               ?=   $(PROJECT_ROOT)vendor/
 NODE_PATH                 ?=   $(PROJECT_ROOT)node_modules/
 TEST_PATH                 ?=   $(PROJECT_ROOT)test/
-DEVELOPMENT_PATH		  ?=   $(PROJECT_ROOT)
+DEVELOPMENT_PATH		      ?=   $(PROJECT_ROOT)
 
 LICENSE_PATH              ?=   $(PROJECT_ROOT)
-DIST_PATH			      ?=   $(PROJECT_ROOT)dist/
+DIST_PATH			            ?=   $(PROJECT_ROOT)dist/
 
 CONFIG_PATH			      ?=   $(PROJECT_ROOT)config/
+BUILD_PATH			      ?=   $(PROJECT_ROOT)build/
 
+BOB_SNIPPED_CONFIG 		  ?=   $(CONFIG_PATH)snippet.conf
+BOB_SYNC_CONFIG    		  ?=   $(CONFIG_PATH)sync.yaml
+				   		       
+BOB_BUILD_PATH	   		  ?=   $(BUILD_PATH)
+BOB_DIST_PATH	   		    ?=   $(DIST_PATH)
+				   		 
 PROJECT_DIRECTORIES :=  $(PROJECT_DIRECTORIES)  \
   $(SOURCE_PATH) \
   $(SCRIPT_PATH) \
   $(VENDOR_PATH) \
   $(NODE_PATH) \
   $(TEST_PATH) \
-  $(LICENSE_PATH)
+  $(LICENSE_PATH) \
+  $(CONFIG_PATH) \
+  $(BUILD_PATH) \
+  $(DIST_PATH)
 
diff --git a/development/makefiles/docman.mk b/development/makefiles/docman.mk
index cc61cff5ba99d12818613002164e4aaf3353b7ac..40b21228b0786d9763014feadbe4b20b5dd86709 100644
--- a/development/makefiles/docman.mk
+++ b/development/makefiles/docman.mk
@@ -7,4 +7,13 @@
 #############################################################################################
 
 
-DOCMAN_BIN            ?= $(VENDOR_PATH)docman
+DOCMAN_BIN           ?= $(VENDOR_PATH)docman
+DOCMAN_CONFIG_PATH   ?= $(DOCUMENTATION_CONFIG_PATH)docman.yaml
+DOCMAN_HTML_ARTEFACT ?= $(PROJECT_ROOT)deployment/build/manual.html
+DOCMAN_PDF_ARTEFACT  ?= $(PROJECT_ROOT)deployment/build/manual.pdf
+DOCMAN_SOURCE        ?= $(shell find $(DOCUMENTATION_PATH) -type f)
+
+$(DOCMAN_BIN):
+	$(QUIET) $(MKDIR) -p $(VENDOR_PATH)
+	$(QUIET) $(WGET) -O $(DOCMAN_BIN) http://download.schukai.com/tools/docman/docman-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`)
+	$(QUIET) $(CHMOD) u+x $(DOCMAN_BIN)
diff --git a/development/makefiles/go.mk b/development/makefiles/go.mk
index 6cb58e936eb9de9c2d1e3a463c9f2233338c7c5f..679e0ac0b784d000b2cc036da2978f918028a865 100644
--- a/development/makefiles/go.mk
+++ b/development/makefiles/go.mk
@@ -8,8 +8,9 @@
 
 # path and binaries
 GO               := go
+GOLINT           := golint
 
-EXECUTABLES = $(EXECUTABLES:-) $(GO); 
+EXECUTABLES = $(EXECUTABLES:-) $(GO) $(GOLINT); 
 
 ifeq ($(shell command -v $(GO) 2> /dev/null),)
   $(error "go is not installed. Please install go <https://go.dev/doc/install>")
@@ -25,3 +26,9 @@ ifeq ($(GOPATH),)
     export PATH=$(PATH):$(GOPATH)/bin
 endif
 
+ifdef SOURCE_PATH
+	PKG_LIST := $(shell if [ -d "SOURCE_PATH" ] ; then cd $(SOURCE_PATH); $(GO) list ./... | grep -v /vendor/ ; fi)
+    GO_FILES := $(shell if [ -d "SOURCE_PATH" ] ; then cd $(SOURCE_PATH); find . -name '*.go' | grep -v /vendor/ | grep -v _test.go; fi)
+endif
+
+
diff --git a/development/makefiles/jsdoc.mk b/development/makefiles/jsdoc.mk
index f565f53302fbe070953be1e9796eefa9e51d1ba6..b365b225c307486353885e0aa4f47021a0ede9f2 100644
--- a/development/makefiles/jsdoc.mk
+++ b/development/makefiles/jsdoc.mk
@@ -9,4 +9,7 @@
 # path and binaries
 JSDOC         ?= $(NODE_MODULES_BIN_DIR)jsdoc
 
-EXECUTABLES = $(EXECUTABLES:-) $(JSDOC); 
\ No newline at end of file
+EXECUTABLES = $(EXECUTABLES:-) $(JSDOC);
+
+FIXBROKENPLANTUML       ?= $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js
+DOCUMENTATION_S3_PATH   ?= s3://doc.alvine.io/en/oss/$(COMPONENT_SLUG)/ 
\ No newline at end of file
diff --git a/development/makefiles/licenses.mk b/development/makefiles/licenses.mk
index 7d8f56db297745a6cc95f605b29eb8b7949aa2ed..d8f289bc8ced8d444f5e14340167f0ac73a03b5d 100644
--- a/development/makefiles/licenses.mk
+++ b/development/makefiles/licenses.mk
@@ -6,6 +6,10 @@
 #############################################################################################
 #############################################################################################
 
+ifeq ($(GO),)
+  $(error $(ERRORMARKER) Go is not defined, check your Makefile if go.mk is included)
+endif
+
 ifneq "$(wildcard $(SOURCE_PATH) )" ""
   ## Files wich should be checked for license headers
   LICENSE_FILE_PATTERN ?= $(shell find $(SOURCE_PATH) -type f \( -iname \*.go -o -iname \*.php -o -iname \*.js -o -iname \*.mjs -o -iname \*.cjs \) )
diff --git a/development/makefiles/readme-go-utilities.mk b/development/makefiles/readme-go-utilities.mk
index ae10cdc29efd4bfaa2c8fa0bd6586eb2cc783cee..48320cc61ea5bee35251288721fe461ba350a57d 100644
--- a/development/makefiles/readme-go-utilities.mk
+++ b/development/makefiles/readme-go-utilities.mk
@@ -18,14 +18,20 @@ To check out docs and examples, visit ....
 
 ## Installation
 
+If you want to install the latest version of this tool, you can use the following command:
+
 ```shell
-go get $(shell git config --get remote.origin.url | sed -E 's/^\s*.*:\/\///g') 
+wget -O ./$(COMPONENT_SLUG)  http://download.schukai.com/tools/$(COMPONENT_SLUG)/$(COMPONENT_SLUG)-$$( uname -s | tr [:upper:] [:lower:])-$$(echo uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/)  
 ```
 
-**Note:** This library uses [Go Modules](https://github.com/golang/go/wiki/Modules) to manage dependencies.
-
 ## Usage
 
+The following command will show you the help of the tool:
+
+```shell
+$(COMPONENT_SLUG) help
+```
+
 ## Contributing
 
 Merge requests are welcome. For major changes, please open an issue first to discuss what
diff --git a/development/makefiles/target-blackbox.mk b/development/makefiles/target-blackbox.mk
new file mode 100644
index 0000000000000000000000000000000000000000..2c8369dcd683cf83987ba263e3b5d564fbad81fa
--- /dev/null
+++ b/development/makefiles/target-blackbox.mk
@@ -0,0 +1,85 @@
+#############################################################################################
+#############################################################################################
+##
+## BLACKBOX
+##
+#############################################################################################
+#############################################################################################
+
+ifndef BLACKBOX_DOCKERFILE
+  $(error $(ERRORMARKER) BLACKBOX_DOCKERFILE is not defined, check your Makefile if blackbox.mk is included)
+endif
+
+ifndef BLACKBOX_RUN_SCRIPT
+  $(error $(ERRORMARKER) BLACKBOX_RUN_SCRIPT is not defined, check your Makefile if blackbox.mk is included)
+endif
+
+export BLACKBOX_DOCKERFILE
+export BLACKBOX_RUN_SCRIPT
+
+$(BLACKBOX_BUILD_DIR):
+	$(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)
+
+$(BLACKBOX_BUILD_DIR)/Dockerfile: $(BLACKBOX_BUILD_DIR)
+	$(QUIET) $(ECHO) "$$BLACKBOX_DOCKERFILE" > $@
+
+$(BLACKBOX_BUILD_DIR)/filesystem:
+	$(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem
+
+$(BLACKBOX_BUILD_DIR)/filesystem/bin:
+	$(QUIET) $(MKDIR) -p $(BLACKBOX_BUILD_DIR)/filesystem/bin
+
+$(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh: $(BLACKBOX_BUILD_DIR)/filesystem/bin
+	$(QUIET) $(ECHO) "$$BLACKBOX_RUN_SCRIPT" > $@
+	$(QUIET) $(CHMOD) u+x $@
+
+.PHONY: blackbox-build-image
+## build blackbox image
+blackbox-build-image: $(BLACKBOX_BUILD_DIR)/Dockerfile $(BLACKBOX_BUILD_DIR)/filesystem/bin/run-blackbox.sh
+	$(ECHOMARKER) "build blackbox image"
+	$(QUIET) docker build --build-arg UID=$(shell id -u) \
+	                      --build-arg GID=$(shell id -g) \
+	                      --build-arg UNAME=$(shell id -un) \
+	                      -t $(BLACKBOX_IMAGE) $(BLACKBOX_BUILD_DIR)
+
+.PHONY: blackbox-open
+## open credential with blackbox
+blackbox-open:
+ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),)
+	$(QUIET) $(MAKE) blackbox-build-image
+endif
+	$(ECHOMARKER) "open credential with blackbox"
+	$(QUIET) docker run --user $(shell id -u):$(shell id -g) \
+                    --rm -it \
+                    -v $(BLACKBOX_ROOT_DIR):/repos \
+                    -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \
+                    $(BLACKBOX_IMAGE) open
+
+.PHONY: blackbox-close
+## close credential with blackbox
+blackbox-close:
+ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),)
+	$(QUIET) $(MAKE) blackbox-build-image
+endif
+	$(ECHOMARKER) "open credential with blackbox"
+	$(QUIET) docker run --user $(shell id -u):$(shell id -g) \
+                    --rm -it \
+                    -v $(BLACKBOX_ROOT_DIR):/repos \
+                    -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \
+                    $(BLACKBOX_IMAGE) close
+
+.PHONY: blackbox-run
+## run credential with blackbox
+blackbox-run:
+ifeq ($(shell docker images -q ${BLACKBOX_IMAGE} 2> /dev/null),)
+	$(QUIET) $(MAKE) blackbox-build-image
+endif
+	$(ECHOMARKER) "open credential with blackbox"
+	$(QUIET) docker run --user $(shell id -u):$(shell id -g) \
+                    --rm -it \
+                    -v $(BLACKBOX_ROOT_DIR):/repos \
+                    -v $(BLACKBOX_GPG_PATH):/home/$(shell id -un)/.gnupg \
+                    $(BLACKBOX_IMAGE) run
+
+
+
diff --git a/development/makefiles/target-bob.mk b/development/makefiles/target-bob.mk
index 314990e7b7a6d4a4773d02ee5acd75d3a333c784..072890b7568ecaeec23f11ebcd93a9cd00fff068 100644
--- a/development/makefiles/target-bob.mk
+++ b/development/makefiles/target-bob.mk
@@ -10,9 +10,61 @@ ifeq ($(BOB_BIN),)
   $(error $(ERRORMARKER) Bob is not defined, check your Makefile if bob.mk is included)
 endif
 
+ifndef BOB_HTML_TEMPLATES_PATH
+  $(error $(ERRORMARKER) BOB_HTML_TEMPLATES_PATH is not defined, check your Makefile if bob.mk is included)
+endif
+
+ifndef BOB_DIST_PATH
+  $(error $(ERRORMARKER) BOB_DIST_PATH is not defined, check your Makefile if bob.mk is included)
+endif
+
+ifndef SOURCE_PATH
+  $(error $(ERRORMARKER) SOURCE_PATH is not defined, check your Makefile if bob.mk is included)
+endif
+
 
 $(BOB_BIN):
 	$(QUIET) $(MKDIR) -p $(VENDOR_PATH)
 	$(QUIET) $(WGET) -O $(BOB_BIN) http://download.schukai.com/tools/bob/bob-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`)
 	$(QUIET) $(CHMOD) u+x $(BOB_BIN)
 
+.PHONY: sync-pages
+## Sync structure of pages
+sync-pages: $(BOB_BIN)
+ifeq ($(BOB_SYNC_CONFIG),)
+	$(ECHOMARKER) "BOB_SYNC_CONFIG is not set, check your Makefile if the variable is set"
+endif
+	$(ECHOMARKER) "Sync structure of pages"
+	$(QUIET) $(BOB_BIN) html sync --specification $(BOB_SYNC_CONFIG)
+
+$(BOB_HTML_TEMPLATES_PATH): 
+	$(ECHOMARKER) "Create template directory for bob"
+	$(QUIET) $(MKDIR) -p $(BOB_HTML_TEMPLATES_PATH)
+
+$(BOB_DIST_PATH): 
+	$(ECHOMARKER) "Create dist directory for bob"
+	$(QUIET) $(MKDIR) -p $(BOB_DIST_PATH)
+
+.PHONY: generate-html
+## Build the project with Bob
+generate-html: $(BOB_BIN) $(BOB_HTML_TEMPLATES_PATH) $(BOB_DIST_PATH)
+	$(ECHOMARKER) "Generate html"
+	$(QUIET) $(BOB_BIN) html generate --input $(BOB_HTML_TEMPLATES_PATH) --output $(BOB_DIST_PATH) 
+
+.PHONY: prepare-template
+## Prepare template with Bob
+prepare-template: $(BOB_BIN) $(BOB_HTML_TEMPLATES_PATH)
+	$(ECHOMARKER) "Generate templates"
+	$(QUIET) $(BOB_BIN) template prepare --input $(BOB_SOURCE_PATH) --output $(BOB_HTML_TEMPLATES_PATH) --data-file=$(BOB_DATA_FILE)
+
+
+
+.PHONY: init-template
+## Init templates if not exist with Bob 
+init-template: $(BOB_BIN) $(BOB_HTML_TEMPLATES_PATH)
+	$(ECHOMARKER) "Generate templates"
+	$(QUIET) $(BOB_BIN) template prepare --input $(BOB_SOURCE_PATH) --output $(BOB_HTML_TEMPLATES_PATH) --data-file=en.yaml
+
+
+
+
diff --git a/development/makefiles/target-caddy.mk b/development/makefiles/target-caddy.mk
index 4387423c6595cd58474e536f0cf4a181a69c2d3d..7258e3e180f6789c42d15d04f6fd70b5b9f10388 100644
--- a/development/makefiles/target-caddy.mk
+++ b/development/makefiles/target-caddy.mk
@@ -19,5 +19,6 @@ $(CADDY_BIN):
 .PHONY: run-caddy
 ## run caddy webserver
 run-caddy: $(CADDY_BIN) 
+	$(ECHOMARKER) "Run Caddy"
 	$(QUIET) $(CADDY_BIN) run -config $(CADDY_CONFIG) -pidfile $(CADDY_PIDFILE) -watch
 
diff --git a/development/makefiles/target-conan.mk b/development/makefiles/target-conan.mk
index 4a9a06ff83dd2d43ef85c2955d90e98f67ca6953..1e42f1f4bdf341c6292655f5d09a6b623c9089c6 100644
--- a/development/makefiles/target-conan.mk
+++ b/development/makefiles/target-conan.mk
@@ -10,13 +10,8 @@ ifeq ($(CONAN_BIN),)
   $(error $(ERRORMARKER) Conan is not defined, check your Makefile if conan.mk is included)
 endif
 
-
-$(CONAN_BIN):
-	$(QUIET) $(MKDIR) -p $(VENDOR_PATH)
-	$(QUIET) $(WGET) -O $(CONAN_BIN) http://download.schukai.com/tools/conan/conan-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`)
-	$(QUIET) $(CHMOD) u+x $(CONAN_BIN)
-
 .PHONY: run-conan
 ## run conan webserver
 run-conan: $(CONAN_BIN) $(CONAN_CONFIG)
+	$(ECHOMARKER) "Run Conan"
 	$(QUIET) $(CONAN_BIN) server serve --config $(CONAN_CONFIG)
diff --git a/development/makefiles/target-deploy-tool.mk b/development/makefiles/target-deploy-tool.mk
index 4e69db87e41f75f0579b27f024ff3c42d73fd5f8..e47b8995407279b2184e50a1af9f77fa9a018632 100644
--- a/development/makefiles/target-deploy-tool.mk
+++ b/development/makefiles/target-deploy-tool.mk
@@ -17,6 +17,7 @@ deploy: compile
 .PHONY: overview-to-s3
 ## overview-to-s3
 overview-to-s3:
+	$(ECHOMARKER) "Deploy to aws"
 	$(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.html $(UPLOAD_TOOL_URL)
 	$(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.css $(UPLOAD_TOOL_URL)
-	$(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.js $(UPLOAD_TOOL_URL)
\ No newline at end of file
+	$(QUIET) AWS_PROFILE=$(AWS_PROFILE) $(AWS) s3 cp $(WEB_PATH)/index.js $(UPLOAD_TOOL_URL)
diff --git a/development/makefiles/target-docman.mk b/development/makefiles/target-docman.mk
index 050374042edb1b317f88df55b763df189bf0d25c..2c8424b021d89735576befbc4016b647b8c84f26 100644
--- a/development/makefiles/target-docman.mk
+++ b/development/makefiles/target-docman.mk
@@ -1,4 +1,3 @@
-
 #############################################################################################
 #############################################################################################
 ##
@@ -11,28 +10,27 @@ ifeq ($(DOCMAN_BIN),)
   $(error "$(DOCMAN_BIN) is not installed. Please check your makefile and include the docman.mk")
 endif
 
-$(DOCMAN_BIN):
-	$(QUIET) $(MKDIR) -p $(VENDOR_PATH)
-	$(QUIET) $(WGET) -O $(DOCMAN_BIN) http://download.schukai.com/tools/docman/docman-$(shell uname -s | tr [:upper:] [:lower:])-$(shell echo `uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/`)
-	$(QUIET) $(CHMOD) u+x $(DOCMAN_BIN)
-
-$(PROJECT_ROOT)deployment/build/manual.html: $(DOCMAN_BIN)
-	$(DOCMAN_BIN) document html --config $(PROJECT_ROOT)documentation/config.yaml
+$(DOCMAN_HTML_ARTEFACT): $(DOCMAN_BIN) $(DOCMAN_SOURCE)
+	$(ECHOMARKER) "Build HTML Documentation"
+	$(QUIET) $(DOCMAN_BIN) document html --config $(DOCMAN_CONFIG_PATH)
 
-$(PROJECT_ROOT)deployment/build/manual.pdf: $(DOCMAN_BIN)
-	$(DOCMAN_BIN) document pdf --config $(PROJECT_ROOT)documentation/config.yaml
+$(DOCMAN_PDF_ARTEFACT): $(DOCMAN_BIN) $(DOCMAN_SOURCE)
+	$(ECHOMARKER) "Build PDF Documentation"
+	$(QUIET) $(DOCMAN_BIN) document pdf --config $(DOCMAN_CONFIG_PATH)
 
 .PHONY: build-doc-pdf
 ## creating the documentation in pdf format
-build-doc-pdf: $(PROJECT_ROOT)deployment/build/manual.pdf
+build-doc-pdf: $(DOCMAN_PDF_ARTEFACT)
 
 .PHONY: build-doc-html
 ## creating the documentation in html format
-build-doc-html: $(PROJECT_ROOT)deployment/build/manual.html
-
+build-doc-html: $(DOCMAN_HTML_ARTEFACT)
 
 .PHONY: build-doc
 ## creating the documentation in pdf and html format
 build-doc: build-doc-pdf build-doc-html
 
 
+
+
+
diff --git a/development/makefiles/target-go-build.mk b/development/makefiles/target-go-build.mk
index 23139cdceb1f8f01d2a8d52d9308c38a751989e4..c21e4a4d07335f8bd26d610e4fede6aba5780552 100644
--- a/development/makefiles/target-go-build.mk
+++ b/development/makefiles/target-go-build.mk
@@ -18,11 +18,41 @@ compile: next-patch-version
 	$(ECHOMARKER) "Compiling for every OS and Platform"
 	$(ECHO) "Version: $(PROJECT_VERSION)"
 	$(ECHO) "Build: $(PROJECT_BUILD_DATE)"
- 
-	$(QUIET) cd  $(SOURCE_PATH) ; \
-			 GO111MODULE=on GOOS=linux GOARCH=arm $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-arm ; \
-			 GOOS=linux GOARCH=amd64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-amd64 ; \
-			 GOOS=linux GOARCH=arm64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-arm64 ; \
-			 GOOS=linux GOARCH=386 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-linux-386 ; \
-	         GOOS=windows GOARCH=amd64 $(GO) build -ldflags "-X $(GO_RELEASE_PACKAGE_NAME).version=$(PROJECT_VERSION) -X $(GO_RELEASE_PACKAGE_NAME).build=$(PROJECT_BUILD_DATE)" -o $(BUILD_PATH)$(COMPONENT_SLUG)-windows ; \
- 			cd $(PROJECT_ROOT); 
+	$(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)/go-compile.sh $(SOURCE_PATH) $(BUILD_PATH) $(COMPONENT_SLUG) $(GO_RELEASE_PACKAGE_NAME) $(PROJECT_VERSION) $(PROJECT_BUILD_DATE)
+
+
+.PHONY: go-lint
+## Lint the files
+go-lint: 
+	$(QUIET) $(GOLINT) -set_exit_status ${PKG_LIST}
+
+.PHONY: go-test	
+## Run unittests
+go-test: 
+	$(QUIET) $(GO) test -short ${PKG_LIST}
+
+.PHONY: go-race
+## Run data race detector
+go-race: go-dep 
+	$(QUIET) $(GO) test -race -short ${PKG_LIST}
+
+.PHONY: go-msan
+## Run memory sanitizer
+go-msan: go-dep 
+	$(QUIET) $(GO) test -msan -short ${PKG_LIST}
+
+.PHONY: go-coverage
+## Generate global code coverage report
+go-coverage: 
+	$(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)/go-coverage.sh $(SOURCE_PATH) $(DEVELOPMENT_PATH)/report ;
+
+.PHONY: go-cover-html
+## Generate global code coverage report in HTML
+go-cover-html: 
+	$(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)/go-coverage.sh $(SOURCE_PATH) $(DEVELOPMENT_PATH)/report html;
+
+.PHONY: go-dep
+## Get the dependencies
+go-dep:
+	$(QUIET) cd $(SOURCE_PATH); $(GO) get -v -d ./... ; cd -;
+
diff --git a/development/makefiles/target-go-fetch-licenses.mk b/development/makefiles/target-go-fetch-licenses.mk
index 65fe5cdc864b4fafa6cebf21920dff5f65a55a45..057b31b2e50357a44d09be7c654a14081dd6a27f 100644
--- a/development/makefiles/target-go-fetch-licenses.mk
+++ b/development/makefiles/target-go-fetch-licenses.mk
@@ -31,6 +31,6 @@ ifeq ($(GO_CURRENT_MODULE),)
 	$(QUIET) $(ECHOERRORMARKER) "no go.mod file found, skipping fetching licenses"
 else
 	$(ECHOMARKER) "Fetch licenses"
-	$(QUIET) cd $(SOURCE_PATH); $(GO_LICENSES_BIN) save $(GO_CURRENT_MODULE) $(GO_LICENSES_IGNORE_PACKAGES) --force --save_path $(DOCUMENTATION_PATH)licenses/ ; cd -
+	$(QUIET) cd $(SOURCE_PATH); $(GO_LICENSES_BIN) save $(GO_CURRENT_MODULE) $(PKG_LIST) --force --save_path $(DOCUMENTATION_PATH)licenses/ ; cd -
 endif
 
diff --git a/development/makefiles/target-init-go-utilities.mk b/development/makefiles/target-init-go-utilities.mk
index 586e755e369c5ccde329616c84f31aa3b8af543c..5efeb0e55ff347ad3cfe1a003503e29d9357e1b6 100644
--- a/development/makefiles/target-init-go-utilities.mk
+++ b/development/makefiles/target-init-go-utilities.mk
@@ -14,8 +14,7 @@
 # targets can define directories as well.
 
 $(PROJECT_DIRECTORIES):
-	$(foreach path,$(PROJECT_DIRECTORIES),\
-    		$(shell $(MKDIR) -p $(path)))
+	$(foreach path,$(PROJECT_DIRECTORIES), $(shell $(MKDIR) -p $(path)))
 
 ## init go utilities project	
 init-go-utilities: $(PROJECT_DIRECTORIES) $(PROJECT_ROOT).gitignore $(PROJECT_ROOT)README.md  $(LICENSE_PATH)LICENSE
diff --git a/development/makefiles/target-init-platform-part.mk b/development/makefiles/target-init-platform-part.mk
index b252d4593481764fe2fb0c586d02e0c1c4dbe23f..4b8a15b1fadba5eb6ebfc69a3264e35a04ac7e41 100644
--- a/development/makefiles/target-init-platform-part.mk
+++ b/development/makefiles/target-init-platform-part.mk
@@ -74,59 +74,64 @@ define PLATFORM_PARTS_BUILD_PACKAGE_CONTENT
   "author": "schukai GmbH",
   "license": "see LICENSE file",
   "dependencies": {
-    "@schukai/component-form": "^2.0.2",
-    "@schukai/component-notify": "^2.0.0",
-    "@schukai/component-state": "^2.0.1",
-    "@schukai/component-style": "^0.6.1",
-    "@schukai/monster": "^2.0.16"
+    "@schukai/component-form": "^3.3.1",
+    "@schukai/component-notify": "^2.3.0",
+    "@schukai/component-state": "^2.3.0",
+    "@schukai/component-style": "^0.28.0",
+    "@schukai/monster": "^3.12.1"
   },   
   "devDependencies": {
-    "@peculiar/webcrypto": "^1.4.0",
-    "@semantic-release/changelog": "^6.0.1",
-    "@semantic-release/exec": "^6.0.3",
-    "@semantic-release/git": "^10.0.1",
-    "@semantic-release/gitlab": "^9.4.2",
-    "cli-real-favicon": "^0.0.8",
-	"@semantic-release/npm": "^9.0.1",
-    "autoprefixer": "^10.4.13",
-    "btoa": "^1.2.1",
-    "c8": "^7.12.0",
-    "chai": "^4.3.6",
-    "glob": "^8.0.3",
-    "chai-dom": "^1.11.0",
-    "clean-jsdoc-theme": "^4.1.6",
-    "create-polyfill-service-url": "^2.2.6",
-    "crypt": "^0.0.2",
-    "cssnano": "^5.1.14",
-    "esbuild": "^0.14.53",
-    "flow-bin": "^0.184.0",
-    "fs": "^0.0.1-security",
-    "graphviz": "^0.0.9",
-    "jsdoc": "^3.6.11",
-    "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example",
-    "jsdom": "^19.0.0",
-    "jsdom-global": "^3.0.2",
-    "mocha": "^10.0.0",
-    "postcss": "^8.4.19",
-    "postcss-color-mod-function": "^3.0.3",
-    "postcss-fluid": "^1.4.2",
-    "postcss-for": "^2.1.1",
-    "postcss-import": "^15.0.0",
-    "postcss-mixins": "^9.0.4",
-    "postcss-nesting": "^10.2.0",
-    "postcss-normalize": "^10.0.1",
-    "postcss-responsive-type": "^1.0.0",
-    "postcss-strip-units": "^2.0.1",
-    "process": "^0.11.10",
-    "semantic-release": "^19.0.5",
-    "sinon": "^14.0.0",
-    "url": "^0.11.0",
-    "url-exist": "3.0.0",
-    "util": "^0.12.4",
-    "vite": "^3.2.3",
-    "vite-plugin-banner": "^0.6.1",
-    "vite-plugin-mkcert": "^1.10.1",
-    "vite-plugin-minify": "^1.5.2"    
+   "@peculiar/webcrypto": "^1.4.1",
+      "@semantic-release/changelog": "^6.0.2",
+      "@semantic-release/exec": "^6.0.3",
+      "@semantic-release/git": "^10.0.1",
+      "@semantic-release/gitlab": "^10.1.4",
+      "@semantic-release/npm": "^9.0.2",
+      "@vitejs/plugin-basic-ssl": "^1.0.1",
+      "autoprefixer": "^10.4.13",
+      "btoa": "^1.2.1",
+      "c8": "^7.12.0",
+      "chai": "^4.3.7",
+      "chai-dom": "^1.11.0",
+      "clean-jsdoc-theme": "^4.2.6",
+      "cli-real-favicon": "^0.0.8",
+      "create-polyfill-service-url": "^2.2.6",
+      "crypt": "^0.0.2",
+      "cssnano": "^5.1.14",
+      "esbuild": "^0.17.8",
+      "flow-bin": "^0.199.1",
+      "fs": "^0.0.1-security",
+      "glob": "^8.1.0",
+      "graphviz": "^0.0.9",
+      "jsdoc": "^4.0.0",
+      "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example",
+      "jsdom": "^21.1.0",
+      "jsdom-global": "^3.0.2",
+      "mocha": "^10.2.0",
+      "npm-check-updates": "^16.7.4",
+      "postcss": "^8.4.21",
+      "postcss-color-mod-function": "^3.0.3",
+      "postcss-fluid": "^1.4.2",
+      "postcss-for": "^2.1.1",
+      "postcss-import": "^15.1.0",
+      "postcss-mixins": "^9.0.4",
+      "postcss-nesting": "^11.2.0",
+      "postcss-normalize": "^10.0.1",
+      "postcss-responsive-type": "^1.0.0",
+      "postcss-strip-units": "^2.0.1",
+      "process": "^0.11.10",
+      "semantic-release": "^20.1.0",
+      "sinon": "^15.0.1",
+      "svgo": "^3.0.2",
+      "url": "^0.11.0",
+      "url-exist": "3.0.1",
+      "util": "^0.12.5",
+      "vite": "^4.1.1",
+      "vite-plugin-banner": "^0.7.0",
+      "vite-plugin-list-directory-contents": "^1.4.5",
+      "vite-plugin-minify": "^1.5.2",
+      "vite-plugin-mkcert": "^1.13.0",
+      "vite-plugin-mpa": "^1.1.4" 
   }
 }
 endef
diff --git a/development/makefiles/target-init-webcomponent.mk b/development/makefiles/target-init-webcomponent.mk
index 123b3f3954b983901d5e7d0e9bf55e9407ef0ab2..6460767f247feeb21a3a081f45be40615d1d0ce7 100644
--- a/development/makefiles/target-init-webcomponent.mk
+++ b/development/makefiles/target-init-webcomponent.mk
@@ -83,8 +83,9 @@ define WEBCOMPONENTS_PACKAGE_CONTENT
     "monster"
   ],
   "dependencies": {
-    "@popperjs/core": "^2.9.2",
-    "@schukai/monster": "^2.0.8"
+    "@popperjs/core": "^2.11.6",
+    "@schukai/component-style": "^0.27.1",
+    "@schukai/monster": "^3.10.1"
   },
   "main": "source/component.mjs",
   "module": "source/component.mjs",
@@ -123,40 +124,65 @@ define WEBCOMPONENTS_BUILD_PACKAGE_CONTENT
     "test": "npx mocha --recursive test/cases/",
     "web-test": "script/web-test.sh",
     "publish": "script/release-and-publish.sh",
-    "build-doc": "script/build-doc.sh"
+    "build-doc": "script/build-doc.sh",
+    "build-style": "node script/build-stylesheets.cjs ."
   },
   "type": "module",
   "author": "schukai GmbH",
   "license": "see LICENSE file",
   "dependencies": {
-    "@popperjs/core": "^2.11.2",
-    "@schukai/monster": "^2.0.8"
-  },
+      "@popperjs/core": "^2.11.6",
+      "@schukai/component-style": "^0.27.1",
+      "@schukai/monster": "^3.10.1"
+    },
   "devDependencies": {
-    "@peculiar/webcrypto": "^1.4.0",
-    "btoa": "^1.2.1",
-    "c8": "^7.12.0",
-    "chai": "^4.3.6",
-    "chai-dom": "^1.11.0",
-    "clean-jsdoc-theme": "^4.1.6",
-    "create-polyfill-service-url": "^2.2.6",
-    "crypt": "^0.0.2",
-    "esbuild": "^0.14.53",
-    "flow-bin": "^0.184.0",
-    "fs": "^0.0.1-security",
-    "graphviz": "^0.0.9",
-    "jsdoc": "^3.6.11",
-    "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example",
-    "jsdoc-plantuml": "^1.0.2",
-    "jsdom": "^19.0.0",
-    "jsdom-global": "^3.0.2",
-    "mocha": "^10.0.0",
-    "node-plantuml": "^0.9.0",
-    "sinon": "^14.0.0",
-    "url": "^0.11.0",
-    "url-exist": "3.0.0",
-    "util": "^0.12.4"
-  }
+      "@oss/web-components-build-tools": "^1.2.8",
+      "@peculiar/webcrypto": "^1.4.1",
+      "autoprefixer": "^10.4.13",
+      "browserslist": "^4.21.5",
+      "btoa": "^1.2.1",
+      "c8": "^7.12.0",
+      "chai": "^4.3.7",
+      "chai-dom": "^1.11.0",
+      "clean-jsdoc-theme": "^4.2.3",
+      "create-polyfill-service-url": "^2.2.6",
+      "crypt": "^0.0.2",
+      "cssnano": "^5.1.14",
+      "esbuild": "^0.17.5",
+      "flow-bin": "^0.199.1",
+      "fs": "0.0.1-security",
+      "glob": "^8.1.0",
+      "graphviz": "^0.0.9",
+      "jsdoc": "^4.0.0",
+      "jsdoc-external-example": "github:volker-schukai/jsdoc-external-example",
+      "jsdoc-plantuml": "^1.0.2",
+      "jsdom": "^21.1.0",
+      "jsdom-global": "^3.0.2",
+      "mocha": "^10.2.0",
+      "node-plantuml": "^0.9.0",
+      "postcss": "^8.4.21",
+      "postcss-fluid": "^1.4.2",
+      "postcss-for": "^2.1.1",
+      "postcss-import": "^15.1.0",
+      "postcss-load-config": "^4.0.1",
+      "postcss-mixins": "^9.0.4",
+      "postcss-nested": "^6.0.0",
+      "postcss-nesting": "^11.1.0",
+      "postcss-normalize": "^10.0.1",
+      "postcss-responsive-type": "^1.0.0",
+      "postcss-rtlcss": "^4.0.1",
+      "postcss-strip-units": "^2.0.1",
+      "rome": "^11.0.0",
+      "sinon": "^15.0.1",
+      "url": "^0.11.0",
+      "url-exist": "3.0.1",
+      "util": "^0.12.5",
+      "vite": "^4.1.1",
+      "vite-plugin-banner": "^0.7.0",
+      "vite-plugin-list-directory-contents": "^1.4.5",
+      "vite-plugin-minify": "^1.5.2",
+      "vite-plugin-mkcert": "^1.12.0"
+    }
 }
 endef
 
diff --git a/development/makefiles/target-jsdoc-build.mk b/development/makefiles/target-jsdoc-build.mk
index 332815163f9c0243d79b1f7ef2a1dce52b401eb1..2581d8535ce2a3dc424fd00c84f890a62b6f07ab 100644
--- a/development/makefiles/target-jsdoc-build.mk
+++ b/development/makefiles/target-jsdoc-build.mk
@@ -1,4 +1,3 @@
-
 #############################################################################################
 #############################################################################################
 ##
@@ -7,7 +6,13 @@
 #############################################################################################
 #############################################################################################
 
-FIXBROKENPLANTUML := $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js
+ifndef DOCUMENTATION_S3_PATH
+    $(error $(ERRORMARKER) DOCUMENTATION_S3_PATH is not defined, check your Makefile if jsdoc.mk is included)
+endif
+
+ifndef FIXBROKENPLANTUML
+    $(error $(ERRORMARKER) FIXBROKENPLANTUML is not defined, check your Makefile if jsdoc.mk is included)
+endif
 
 .PHONY: jsdoc-build
 ## generate js api docs
@@ -20,4 +25,13 @@ $(FIXBROKENPLANTUML).fixed:
 	$(ECHOMARKER) "fix broken plantuml"
 	$(QUIET) chmod u+x $(FIXBROKENPLANTUML) 
 	$(QUIET) $(NODE) $(FIXBROKENPLANTUML)
-	$(QUIET) $(TOUCH) $(FIXBROKENPLANTUML).fixed
\ No newline at end of file
+	$(QUIET) $(TOUCH) $(FIXBROKENPLANTUML).fixed
+
+
+
+.PHONY: jsdoc-to-s3
+## transfer doc to s3	
+jsdoc-to-s3: jsdoc-build
+	$(ECHOMARKER) "transfer doc to s3"
+	$(QUIET) $(AWS) s3 --recursive --only-show-errors cp $(BUILD_PATH)docs $(DOCUMENTATION_S3_PATH)
+
diff --git a/development/makefiles/target-node-build.mk b/development/makefiles/target-node-build.mk
index 98b4fed6df33172585d2e9e538b8f1d930389d1a..529bc2255af928d5845b20f1cc57a369c19a02f1 100644
--- a/development/makefiles/target-node-build.mk
+++ b/development/makefiles/target-node-build.mk
@@ -10,6 +10,14 @@ SPONGE   ?=   sponge
 
 EXECUTABLES = $(EXECUTABLES:-) $(SPONGE);
 
+
+.PHONY: node-create-polyfill
+## create polyfill.io url
+node-create-polyfill: $(MJS_RELATIVE_SOURCE_FILES) $(NODE_PACKAGES)
+	$(ECHOMARKER) "create and replace polyfill"
+	$(QUIET) $(DEVELOPMENT_SCRIPTS_PATH)create-polyfill.sh $(MJS_RELATIVE_SOURCE_FILES)
+
+
 .PHONY: node-build
 ## Build Node Components
 node-build: $(NODE_MODULES_MODIFIED) $(NODE_PACKAGES)
@@ -21,4 +29,4 @@ node-build: $(NODE_MODULES_MODIFIED) $(NODE_PACKAGES)
 	$(QUIET) $(SCRIPTS_PATH)update-version.sh
 	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run --if-present build 
 		
-	
+
diff --git a/development/makefiles/target-node-playground.mk b/development/makefiles/target-node-playground.mk
new file mode 100644
index 0000000000000000000000000000000000000000..9ad098c4d8e0a89706f49582eb0d6cfe85b607d3
--- /dev/null
+++ b/development/makefiles/target-node-playground.mk
@@ -0,0 +1,13 @@
+#############################################################################################
+#############################################################################################
+##
+## RUN PLAYGROUND
+##
+#############################################################################################
+#############################################################################################
+
+.PHONY: node-run-playground
+## run playground (vite)
+node-run-playground: 
+	$(ECHOMARKER) "run playground"
+	$(QUIET) cd $(DEVELOPMENT_PATH)playground; npx vite; 
diff --git a/development/makefiles/target-npm.mk b/development/makefiles/target-npm.mk
index ebd4405246a2d4c8edadc68eeb727aada05099f4..29c8bcb3c2e5d58a35ba4a816d277dea485f9a5f 100644
--- a/development/makefiles/target-npm.mk
+++ b/development/makefiles/target-npm.mk
@@ -26,4 +26,9 @@ npm-preview:
 	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run preview
 
 
-
+.PHONY: npm-update-all
+## Update Node Components	
+npm-update-all:
+	$(ECHOMARKER) "Search and Update recursive all node_modules (npm and pnpm)"
+	$(QUIET) $(FIND) . -type f ! -path '*node_modules*' -iname pnpm-lock.yaml -exec bash -c 'cd $$(dirname {} ) ; pwd;  pnpm update -Lr ; cd - ' \;
+	$(QUIET) $(FIND) . -type f ! -path '*node_modules*' -iname package-lock.json -exec bash -c 'cd $$(dirname {} ) ; pwd; npm install -D npm-check-updates; npx npm-check-updates -u; npm install ; cd -' \;
diff --git a/development/makefiles/target-phpunit.mk b/development/makefiles/target-phpunit.mk
index 0d27705e2dc28308b287569d7fb1338a32c534bc..7120d7f08c5772cfa266338a0609ccb53ab9b239 100644
--- a/development/makefiles/target-phpunit.mk
+++ b/development/makefiles/target-phpunit.mk
@@ -57,7 +57,7 @@ $(PHPUNIT_SCRIPT_PATH)/unittests.sh:
 
 $(PHPUNIT_BIN):
 	$(MKDIR) -p $(PHPUNIT_PATH)
-	$(WGET) -O $(PHPUNIT_BIN) https://phar.phpunit.de/phpunit-9.phar
+	$(WGET) -O $(PHPUNIT_BIN) https://phar.phpunit.de/phpunit-10.phar
 	$(CHMOD) u+x $(PHPUNIT_BIN)
 	$(CHMOD) u+x $(PHPUNIT_SCRIPT_PATH)/unittests.sh