luminance mask fix
diff --git a/README.md b/README.md
index 4a16dbd..363adc4 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,7 @@
 - time remapped stretched layers fix
 - shapes with no vertices fix
 - more stroke effect types support
+- luminance mask fix
 
 
 ## V 4.4.23
diff --git a/player/js/elements/ImageElement.js b/player/js/elements/ImageElement.js
index 2a0d53a..df830fe 100644
--- a/player/js/elements/ImageElement.js
+++ b/player/js/elements/ImageElement.js
@@ -18,10 +18,10 @@
     this.maskedElement = this.innerElem;
     this.layerElement.appendChild(this.innerElem);
     if(this.data.ln){
-        this.innerElem.setAttribute('id',this.data.ln);
+        this.layerElement.setAttribute('id',this.data.ln);
     }
     if(this.data.cl){
-        this.innerElem.setAttribute('class',this.data.cl);
+        this.layerElement.setAttribute('class',this.data.cl);
     }
 
 };
diff --git a/player/js/elements/SolidElement.js b/player/js/elements/SolidElement.js
index 08ba4bf..40e335b 100644
--- a/player/js/elements/SolidElement.js
+++ b/player/js/elements/SolidElement.js
@@ -16,10 +16,10 @@
     this.layerElement.appendChild(rect);
     this.innerElem = rect;
     if(this.data.ln){
-        this.innerElem.setAttribute('id',this.data.ln);
+        this.layerElement.setAttribute('id',this.data.ln);
     }
     if(this.data.cl){
-        this.innerElem.setAttribute('class',this.data.cl);
+        this.layerElement.setAttribute('class',this.data.cl);
     }
 };
 
diff --git a/player/js/elements/svgElements/SVGBaseElement.js b/player/js/elements/svgElements/SVGBaseElement.js
index e7ab617..72573c1 100644
--- a/player/js/elements/svgElements/SVGBaseElement.js
+++ b/player/js/elements/svgElements/SVGBaseElement.js
@@ -13,11 +13,13 @@
 
 SVGBaseElement.prototype.createElements = function(){
     if(this.data.td){
-        if(this.data.td == 3){
-            this.layerElement = document.createElementNS(svgNS,'mask');
-            this.layerElement.setAttribute('id',this.layerId);
-            this.layerElement.setAttribute('mask-type','luminance');
-            this.globalData.defs.appendChild(this.layerElement);
+        if(this.data.td == 3 || this.data.td == 1){
+            this.layerElement = document.createElementNS(svgNS,'g');
+            var masker = document.createElementNS(svgNS,'mask');
+            masker.setAttribute('id',this.layerId);
+            masker.setAttribute('mask-type',this.data.td == 3 ? 'luminance':'alpha');
+            masker.appendChild(this.layerElement);
+            this.globalData.defs.appendChild(masker);
         }else if(this.data.td == 2){
             var maskGroup = document.createElementNS(svgNS,'mask');
             maskGroup.setAttribute('id',this.layerId);
@@ -54,11 +56,6 @@
             this.globalData.defs.appendChild(maskGroup);
         }else{
             this.layerElement = document.createElementNS(svgNS,'g');
-            var masker = document.createElementNS(svgNS,'mask');
-            masker.setAttribute('id',this.layerId);
-            masker.setAttribute('mask-type','alpha');
-            masker.appendChild(this.layerElement);
-            this.globalData.defs.appendChild(masker);
         }
         if(this.data.hasMask){
             this.maskedElement = this.layerElement;