diff --git a/src/dbp-official-signature-pdf-upload.js b/src/dbp-official-signature-pdf-upload.js
index a91ffd56441051648a9f83cd54954c993cb1ec14..b37a8931662b2e7f9c55da89e3e3a67d7e0d3b34 100644
--- a/src/dbp-official-signature-pdf-upload.js
+++ b/src/dbp-official-signature-pdf-upload.js
@@ -120,8 +120,8 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
     }
 
     async _updateNeedsPlacementStatus(id) {
-        let file = this.queuedFiles[id];
-        let sigCount = await utils.getPDFSignatureCount(file);
+        let entry = this.queuedFiles[id];
+        let sigCount = await utils.getPDFSignatureCount(entry.file);
         this.queuedFilesNeedsPlacement.delete(id);
         if (sigCount > 0)
             this.queuedFilesNeedsPlacement.set(id, true);
@@ -161,7 +161,8 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
 
         // take the file off the queue
         const key = Object.keys(this.queuedFiles)[0];
-        const file = this.takeFileFromQueue(key);
+        const entry = this.takeFileFromQueue(key);
+        const file = entry.file;
         this.currentFile = file;
 
         // set placement mode and parameters to restore them when canceled
@@ -368,16 +369,16 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
             return;
         }
 
-        const file = this.getQueuedFile(key);
-        this.currentFile = file;
+        const entry = this.getQueuedFile(key);
+        this.currentFile = entry.file;
         this.currentPreviewQueueKey = key;
-        console.log(file);
+        console.log(entry);
         // start signature placement process
         this.signaturePlacementInProgress = true;
         this.withSigBlock = withSigBlock;
         const previewTag = this.getScopedTagName("dbp-pdf-preview");
         await this._(previewTag).showPDF(
-            file,
+            entry.file,
             withSigBlock, //this.queuedFilesPlacementModes[key] === "manual",
             this.queuedFilesSignaturePlacements[key]);
     }
@@ -700,7 +701,7 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
         let results = [];
 
         ids.forEach((id) => {
-            const file = this.queuedFiles[id];
+            const file = this.queuedFiles[id].file;
             const isManual = this.queuedFilesPlacementModes[id] === 'manual';
             const placementMissing = this.queuedFilesNeedsPlacement.get(id) && !isManual;
 
diff --git a/src/dbp-qualified-signature-pdf-upload.js b/src/dbp-qualified-signature-pdf-upload.js
index 615b0f72f581aa672d7ee71372b316c77764086c..1f7239a301423716a730992e8b5cdd3129e7edd1 100644
--- a/src/dbp-qualified-signature-pdf-upload.js
+++ b/src/dbp-qualified-signature-pdf-upload.js
@@ -138,8 +138,8 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
     }
 
     async _updateNeedsPlacementStatus(id) {
-        let file = this.queuedFiles[id];
-        let sigCount = await getPDFSignatureCount(file);
+        let entry = this.queuedFiles[id];
+        let sigCount = await getPDFSignatureCount(entry.file);
         this.queuedFilesNeedsPlacement.delete(id);
         if (sigCount > 0)
             this.queuedFilesNeedsPlacement.set(id, true);
@@ -179,7 +179,8 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
 
         // take the file off the queue
         const key = Object.keys(this.queuedFiles)[0];
-        const file = this.takeFileFromQueue(key);
+        const entry = this.takeFileFromQueue(key);
+        const file = entry.file;
         this.currentFile = file;
 
         // set placement mode and parameters to restore them when canceled
@@ -490,16 +491,16 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
             return;
         }
 
-        const file = this.getQueuedFile(key);
-        this.currentFile = file;
+        const entry = this.getQueuedFile(key);
+        this.currentFile = entry.file;
         this.currentPreviewQueueKey = key;
-        console.log(file);
+        console.log(entry);
         // start signature placement process
         this.signaturePlacementInProgress = true;
         this.withSigBlock = withSigBlock;
         const previewTag = this.getScopedTagName("dbp-pdf-preview");
         await this._(previewTag).showPDF(
-            file,
+            entry.file,
             withSigBlock, //this.queuedFilesPlacementModes[key] === "manual",
             this.queuedFilesSignaturePlacements[key]);
     }
@@ -843,7 +844,7 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
         let results = [];
 
         ids.forEach((id) => {
-            const file = this.queuedFiles[id];
+            const file = this.queuedFiles[id].file;
             const isManual = this.queuedFilesPlacementModes[id] === 'manual';
             const placementMissing = this.queuedFilesNeedsPlacement.get(id) && !isManual;
 
diff --git a/src/dbp-signature-lit-element.js b/src/dbp-signature-lit-element.js
index 570535f2208cd904ef9acfbdb1300518fc271ed0..bdcd73d14efeb96e4deeeea8bdf30322d1273675 100644
--- a/src/dbp-signature-lit-element.js
+++ b/src/dbp-signature-lit-element.js
@@ -1,6 +1,7 @@
 import * as utils from "./utils";
 import * as commonUtils from "@dbp-toolkit/common/utils";
 import {BaseLitElement} from './base-element.js';
+import {SignatureEntry} from './signature-entry.js';
 
 export default class DBPSignatureLitElement extends BaseLitElement {
     constructor() {
@@ -32,23 +33,24 @@ export default class DBPSignatureLitElement extends BaseLitElement {
      */
     queueFile(file) {
         this._queueKey++;
-        const key = this._queueKey;
-        this.queuedFiles[key] = file;
+        const key = String(this._queueKey);
+        this.queuedFiles[key] = new SignatureEntry(key, file);
         this.updateQueuedFilesCount();
-        return String(key);
+        return key;
     }
 
     /**
      * Takes a file off of the queue
      *
      * @param key
+     * @returns {SignatureEntry} entry
      */
     takeFileFromQueue(key) {
-        const file = this.queuedFiles[key];
+        const entry = this.queuedFiles[key];
         delete this.queuedFiles[key];
         this.updateQueuedFilesCount();
 
-        return file;
+        return entry;
     }
 
     /**
@@ -257,10 +259,6 @@ export default class DBPSignatureLitElement extends BaseLitElement {
         return this.queuedFiles[key];
     }
 
-    getQueuedFiles() {
-        return this.queuedFiles;
-    }
-
     clearQueuedFiles() {
         this.queuedFilesAnnotations = [];
         this.queuedFilesAnnotationsCount = 0;
@@ -278,10 +276,6 @@ export default class DBPSignatureLitElement extends BaseLitElement {
         return this.queuedFilesCount;
     }
 
-    getQueuedFilesCount() {
-        return this.queuedFilesCount;
-    }
-
     /**
      * @param file
      * @param params
diff --git a/src/signature-entry.js b/src/signature-entry.js
new file mode 100644
index 0000000000000000000000000000000000000000..0f6b0302453c86149437e251124ac66b94a27a1d
--- /dev/null
+++ b/src/signature-entry.js
@@ -0,0 +1,7 @@
+export class SignatureEntry {
+
+    constructor(key, file) {
+        this.key = key;
+        this.file = file;
+    }
+}
\ No newline at end of file