diff --git a/.gitea/workflows/default_nottags.yaml b/.gitea/workflows/default_nottags.yaml
index 9f4e743..2d7e72a 100644
--- a/.gitea/workflows/default_nottags.yaml
+++ b/.gitea/workflows/default_nottags.yaml
@@ -6,8 +6,8 @@ on:
       - '**'
 
 env:
-  IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
-  NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
+  IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
+  NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
   NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
   NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
   NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
@@ -26,7 +26,7 @@ jobs:
       - name: Install pnpm and npmci
         run: |
           pnpm install -g pnpm
-          pnpm install -g @shipzone/npmci
+          pnpm install -g @ship.zone/npmci
 
       - name: Run npm prepare
         run: npmci npm prepare
diff --git a/.gitea/workflows/default_tags.yaml b/.gitea/workflows/default_tags.yaml
index e27ad69..6e8064b 100644
--- a/.gitea/workflows/default_tags.yaml
+++ b/.gitea/workflows/default_tags.yaml
@@ -6,8 +6,8 @@ on:
       - '*'
 
 env:
-  IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
-  NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
+  IMAGE: code.foss.global/hosttoday/ht-docker-node:npmci
+  NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{gitea.repository}}.git
   NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
   NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
   NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
@@ -26,7 +26,7 @@ jobs:
       - name: Prepare
         run: |
           pnpm install -g pnpm
-          pnpm install -g @shipzone/npmci
+          pnpm install -g @ship.zone/npmci
           npmci npm prepare
 
       - name: Audit production dependencies
@@ -54,7 +54,7 @@ jobs:
       - name: Prepare
         run: |
           pnpm install -g pnpm
-          pnpm install -g @shipzone/npmci
+          pnpm install -g @ship.zone/npmci
           npmci npm prepare
 
       - name: Test stable
@@ -82,7 +82,7 @@ jobs:
       - name: Prepare
         run: |
           pnpm install -g pnpm
-          pnpm install -g @shipzone/npmci
+          pnpm install -g @ship.zone/npmci
           npmci npm prepare
 
       - name: Release
@@ -104,7 +104,7 @@ jobs:
       - name: Prepare
         run: |
           pnpm install -g pnpm
-          pnpm install -g @shipzone/npmci
+          pnpm install -g @ship.zone/npmci
           npmci npm prepare
 
       - name: Code quality
diff --git a/.gitignore b/.gitignore
index ef13c79..352c177 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,6 @@
 # artifacts
 coverage/
 public/
-pages/
 
 # installs
 node_modules/
diff --git a/changelog.md b/changelog.md
index 129e298..fb7a39f 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## 2024-12-02 - 1.5.2 - fix(workflow)
+Corrected Docker image references and package scope in YAML workflows for compatibility.
+
+- Updated Docker image reference from GitLab to code.foss.global for npmci UI workflows.
+- Fixed npm package scope for `@shipzone/npmci` in YAML workflows.
+- Minor formatting corrections for better code readability.
+
 ## 2024-12-02 - 1.5.1 - fix(package)
 Fix duplicate node export in package.json
 
diff --git a/html/index.html b/html/index.html
index 5d13c30..6fc15c9 100644
--- a/html/index.html
+++ b/html/index.html
@@ -1,6 +1,3 @@
-<!--gitzone element-->
-<!-- made by Task Venture Capital GmbH -->
-<!-- checkout https://maintainedby.lossless.com for awesome OpenSource projects -->
 <html lang="en">
   <head>
     <!--Lets set some basic meta tags-->
@@ -11,8 +8,8 @@
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
     <!--Lets load standard fonts-->
-    <link rel="preconnect" href="https://assetbroker.lossless.one/" crossorigin>
-    <link rel="stylesheet" href="https://assetbroker.lossless.one/fonts/fonts.css">
+    <link rel="preconnect" href="https://" crossorigin>
+    <link rel="stylesheet" href="https:///fonts/fonts.css">
 
     <style>
       body {
diff --git a/package.json b/package.json
index 3a507d8..de9de6d 100644
--- a/package.json
+++ b/package.json
@@ -61,12 +61,12 @@
   "type": "module",
   "repository": {
     "type": "git",
-    "url": "git+https://gitlab.com/designestate/private/dedocument-catalog.git"
+    "url": "git+https://code.foss.global/designestate/private/dedocument-catalog.git"
   },
   "bugs": {
-    "url": "https://gitlab.com/designestate/private/dedocument-catalog/issues"
+    "url": "https://code.foss.global/designestate/private/dedocument-catalog/issues"
   },
-  "homepage": "https://gitlab.com/designestate/private/dedocument-catalog#readme",
+  "homepage": "https://code.foss.global/designestate/private/dedocument-catalog#readme",
   "keywords": [
     "document generation",
     "invoice automation",
@@ -87,4 +87,4 @@
     "security",
     "interactive documents"
   ]
-}
+}
\ No newline at end of file
diff --git a/readme.md b/readme.md
index a918f67..fd322ff 100644
--- a/readme.md
+++ b/readme.md
@@ -16,7 +16,7 @@ This command will install the package and add it to your project's dependencies,
 
 The `@design.estate/dees-document` package serves as a robust framework to facilitate the generation of business documents, such as invoices, contracts, and reports. Leveraging modern web technologies, this package integrates seamlessly with TypeScript and ES modules, offering a type-safe environment conducive to efficient, dynamic document creation.
 
-Below, we provide a detailed guide for utilizing this package, from initializing your environment to generating complete PDF documents. 
+Below, we provide a detailed guide for utilizing this package, from initializing your environment to generating complete PDF documents.
 
 ### Setting Up the Environment
 
@@ -47,48 +47,48 @@ import { ILetter } from '@design.estate/dees-document';
 
 const invoiceTemplate: ILetter = {
   from: {
-    name: "Your Company Name",
+    name: 'Your Company Name',
     address: {
-      streetName: "Your Street",
-      houseNumber: "123",
-      city: "Your City",
-      country: "Your Country",
-      postalCode: "12345",
+      streetName: 'Your Street',
+      houseNumber: '123',
+      city: 'Your City',
+      country: 'Your Country',
+      postalCode: '12345',
     },
-    email: "your-email@example.com",
-    phone: "123-456-7890",
+    email: 'your-email@example.com',
+    phone: '123-456-7890',
   },
   to: {
-    name: "Recipient Company Name",
+    name: 'Recipient Company Name',
     address: {
-      streetName: "Recipient Street",
-      houseNumber: "456",
-      city: "Recipient City",
-      country: "Recipient Country",
-      postalCode: "67890",
+      streetName: 'Recipient Street',
+      houseNumber: '456',
+      city: 'Recipient City',
+      country: 'Recipient Country',
+      postalCode: '67890',
     },
-    email: "recipient-email@example.com",
-    phone: "098-765-4321",
+    email: 'recipient-email@example.com',
+    phone: '098-765-4321',
   },
   content: {
     invoiceData: {
       items: [
         {
-          name: "Service or Product Name",
+          name: 'Service or Product Name',
           unitQuantity: 2,
-          unitNetPrice: 100.00,
+          unitNetPrice: 100.0,
           unitType: 'service',
           vatPercentage: 19,
           currency: 'EUR',
-        }
-      ]
-    }
+        },
+      ],
+    },
   },
-  subject: "Invoice for Services Rendered",
+  subject: 'Invoice for Services Rendered',
   date: new Date().getTime(),
   versionInfo: {
-    type: "final",
-    version: "1.0.0"
+    type: 'final',
+    version: '1.0.0',
   },
 };
 ```
@@ -133,22 +133,28 @@ This script encompasses initializing services and generating a PDF in a streamli
 `@design.estate/dees-document` provides several advanced functionalities, enabling rich document creation:
 
 1. **Custom Templates & Styling**
+
    - Customize the styling through CSS or using inline styles in TypeScript.
    - Templates can be adjusted to present different document types (e.g., contracts, reports).
 
 2. **Modular Components and Reuse**
+
    - Utilize modular components to create reusable parts across different documents, enhancing maintainability and reducing redundancy.
 
 3. **Interactive Documents**
+
    - Integrate interactivities like forms, buttons, and interactive charts within your documents.
 
 4. **Localization Support**
+
    - Documents can be localized to support multiple languages, enhancing accessibility and usability.
 
 5. **Responsive and Adaptive Designs**
+
    - Create documents that adjust layout dynamically depending on print or digital medium, maintaining consistency across platforms.
 
 6. **Security Features**
+
    - Apply digital signatures and encrypt sensitive documents to ensure secure and authentic document distribution.
 
 7. **Complex Business Logic**
@@ -175,7 +181,7 @@ From custom templates to localization and advanced security features, this modul
 
 ## License and Legal Information
 
-This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. 
+This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
 
 **Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
 
diff --git a/test/plugins.ts b/test/plugins.ts
index 17fa8e1..910162c 100644
--- a/test/plugins.ts
+++ b/test/plugins.ts
@@ -2,8 +2,4 @@ import * as tsclass from '@tsclass/tsclass';
 import * as smartfile from '@push.rocks/smartfile';
 import * as path from 'path';
 
-export {
-  tsclass,
-  smartfile,
-  path,
-}
\ No newline at end of file
+export { tsclass, smartfile, path };
diff --git a/test/test.ts b/test/test.ts
index ea67a58..a3fe62f 100644
--- a/test/test.ts
+++ b/test/test.ts
@@ -113,7 +113,7 @@ tap.test('should create an invoice', async () => {
     const pdfResult = await testPdfServiceInstance.createPdfFromLetterObject(optionsArg);
     await plugins.smartfile.memory.toFs(
       Buffer.from(pdfResult.buffer),
-      plugins.path.join(paths.nogitDir, `test-${counter++}.pdf`)
+      plugins.path.join(paths.nogitDir, `test-${counter++}.pdf`),
     );
   };
   await saveResult({
diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts
index a150e72..c7c787e 100644
--- a/ts/00_commitinfo_data.ts
+++ b/ts/00_commitinfo_data.ts
@@ -3,6 +3,6 @@
  */
 export const commitinfo = {
   name: '@design.estate/dees-document',
-  version: '1.5.1',
+  version: '1.5.2',
   description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
 }
diff --git a/ts/classes.pdfservice.ts b/ts/classes.pdfservice.ts
index e6849d7..a356ba5 100644
--- a/ts/classes.pdfservice.ts
+++ b/ts/classes.pdfservice.ts
@@ -1,9 +1,7 @@
 import * as plugins from './plugins.js';
 import * as helpers from './helpers.js';
 
-export interface IPdfServiceConstructorOptions {
-
-}
+export interface IPdfServiceConstructorOptions {}
 
 /**
  * a pdf service for generating pdfs
@@ -44,8 +42,8 @@ export class PdfService {
    * creates an letter
    */
   public async createPdfFromLetterObject(optionsArg: {
-    letterData: plugins.tsclass.business.ILetter,
-    documentSettings: plugins.shared.interfaces.IDocumentSettings
+    letterData: plugins.tsclass.business.ILetter;
+    documentSettings: plugins.shared.interfaces.IDocumentSettings;
   }) {
     const html = `
       <script type="module">
diff --git a/ts/helpers.ts b/ts/helpers.ts
index 4873c75..362a15e 100644
--- a/ts/helpers.ts
+++ b/ts/helpers.ts
@@ -3,4 +3,4 @@ import * as paths from './paths.js';
 
 export const getBundleAsString = async () => {
   return plugins.smartfile.fs.toStringSync(paths.bundleFile);
-}
+};
diff --git a/ts/paths.ts b/ts/paths.ts
index 2269505..19f40ce 100644
--- a/ts/paths.ts
+++ b/ts/paths.ts
@@ -1,6 +1,9 @@
 import * as plugins from './plugins.js';
 
-export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');
+export const packageDir = plugins.path.join(
+  plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url),
+  '../',
+);
 
 export const nogitDir = plugins.path.join(packageDir, '.nogit/');
 plugins.smartfile.fs.ensureDirSync(nogitDir);
diff --git a/ts/plugins.ts b/ts/plugins.ts
index bb33eb1..ec8837a 100644
--- a/ts/plugins.ts
+++ b/ts/plugins.ts
@@ -1,9 +1,7 @@
 // node native
 import * as path from 'path';
 
-export {
-  path
-}
+export { path };
 
 // dees-document scope
 import * as shared from '../dist_ts_shared/index.js';
@@ -16,16 +14,9 @@ import * as smartjson from '@push.rocks/smartjson';
 import * as smartpath from '@push.rocks/smartpath';
 import * as smartpdf from '@push.rocks/smartpdf';
 
-export {
-  smartfile,
-  smartpath,
-  smartjson,
-  smartpdf,
-}
+export { smartfile, smartpath, smartjson, smartpdf };
 
 // @tsclass scope
 import * as tsclass from '@tsclass/tsclass';
 
-export {
-  tsclass,
-}
+export { tsclass };
diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts
index a150e72..c7c787e 100644
--- a/ts_web/00_commitinfo_data.ts
+++ b/ts_web/00_commitinfo_data.ts
@@ -3,6 +3,6 @@
  */
 export const commitinfo = {
   name: '@design.estate/dees-document',
-  version: '1.5.1',
+  version: '1.5.2',
   description: 'A sophisticated framework for dynamically generating and rendering business documents like invoices with modern web technologies, featuring PDF creation, templating, and automation.'
 }
diff --git a/ts_web/pages/index.ts b/ts_web/pages/index.ts
new file mode 100644
index 0000000..a56db43
--- /dev/null
+++ b/ts_web/pages/index.ts
@@ -0,0 +1,2 @@
+export * from './page1.js';
+export * from './page2.js';
diff --git a/ts_web/pages/page1.ts b/ts_web/pages/page1.ts
new file mode 100644
index 0000000..19c1819
--- /dev/null
+++ b/ts_web/pages/page1.ts
@@ -0,0 +1,17 @@
+import * as plugins from '../plugins.js';
+import { html } from '@design.estate/dees-element';
+
+export const page1 = () => html`
+  <style>
+    dedocument-dedocument {
+      margin: 16px;
+    }
+  </style>
+  <dedocument-dedocument .printMode=${false} letterData=${plugins.smartjson.stringifyBase64({
+      ...plugins.shared.demoLetter,
+      from: {
+        ...plugins.shared.demoLetter.from,
+        description: 'a string set via stringified JSON'
+      }
+    } as plugins.tsclass.business.ILetter)}> </dedocument-dedocument>
+`;
diff --git a/ts_web/pages/page2.ts b/ts_web/pages/page2.ts
new file mode 100644
index 0000000..70c8630
--- /dev/null
+++ b/ts_web/pages/page2.ts
@@ -0,0 +1,18 @@
+import { html } from "@design.estate/dees-element";
+
+export const page2 = () => html`
+  <style>
+    .demoPort {
+      margin: auto;
+      width: 400px;
+    }
+    dedocument-page {
+      margin-top: 16px;
+      margin-bottom: 16px;
+    }
+  </style>
+  <div class="demoPort">
+    <dedocument-page .format="${"a4"}" .viewWidth=${400}></dedocument-page>
+    <dedocument-page .format="${"a4"}" .viewWidth=${400}></dedocument-page>
+  </div>
+`;
diff --git a/tsconfig.json b/tsconfig.json
index dfe5a55..012a01b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -6,9 +6,15 @@
     "module": "NodeNext",
     "moduleResolution": "NodeNext",
     "esModuleInterop": true,
-    "verbatimModuleSyntax": true
+    "verbatimModuleSyntax": true,
+    "baseUrl": ".",
+    "paths": {
+      "undefined": [
+        "./ts_web/index.js"
+      ]
+    }
   },
   "exclude": [
     "dist_*/**/*.d.ts"
   ]
-}
+}
\ No newline at end of file