fixes
diff --git a/README.md b/README.md
index a286813..60ba553 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,9 @@
 - transform yPosition and xPosition expression interface
 - rounded corners expression interface
 - shape hold keyframes last frame fix
+- mask with single vertex fix
+- reversed shapes on hold keyframes fix
+- shape interfaces fixes
 
 
 ## V 4.4.23
diff --git a/extension/jsx/utils/shapeHelper.jsx b/extension/jsx/utils/shapeHelper.jsx
index 548b1a7..42893a8 100644
--- a/extension/jsx/utils/shapeHelper.jsx
+++ b/extension/jsx/utils/shapeHelper.jsx
@@ -81,8 +81,12 @@
         } else {
             len = ks.length;
             for (i = 0; i < len - 1; i += 1) {
-                reverseShape(ks[i].s[0]);
-                reverseShape(ks[i].e[0]);
+                if(ks[i].s){
+                    reverseShape(ks[i].s[0]);
+                }
+                if(ks[i].e){
+                    reverseShape(ks[i].e[0]);
+                }
             }
         }
     }
diff --git a/player/index.html b/player/index.html
index c61afe2..cff061d 100644
--- a/player/index.html
+++ b/player/index.html
@@ -109,7 +109,7 @@
         rendererSettings: {
             progressiveLoad:false
         },
-        path: 'exports/mobilo/zz_1.json'
+        path: 'exports/mobilo/pt_13.json'
     };
     anim = bodymovin.loadAnimation(animData);
 
diff --git a/player/js/mask.js b/player/js/mask.js
index 48de39b..4b0a98c 100644
--- a/player/js/mask.js
+++ b/player/js/mask.js
@@ -208,7 +208,7 @@
         pathString += " C"+bm_rnd(pathNodes.o[i-1][0])+','+bm_rnd(pathNodes.o[i-1][1]) + " "+bm_rnd(pathNodes.i[i][0])+','+bm_rnd(pathNodes.i[i][1]) + " "+bm_rnd(pathNodes.v[i][0])+','+bm_rnd(pathNodes.v[i][1]);
     }
         //pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[0][0]+','+pathNodes.i[0][1] + " "+pathNodes.v[0][0]+','+pathNodes.v[0][1];
-    if(pathNodes.c){
+    if(pathNodes.c && len > 1){
         pathString += " C"+bm_rnd(pathNodes.o[i-1][0])+','+bm_rnd(pathNodes.o[i-1][1]) + " "+bm_rnd(pathNodes.i[0][0])+','+bm_rnd(pathNodes.i[0][1]) + " "+bm_rnd(pathNodes.v[0][0])+','+bm_rnd(pathNodes.v[0][1]);
     }
     //pathNodes.__renderedString = pathString;
diff --git a/player/js/utils/expressions/ShapeInterface.js b/player/js/utils/expressions/ShapeInterface.js
index 5123fc0..197ffae 100644
--- a/player/js/utils/expressions/ShapeInterface.js
+++ b/player/js/utils/expressions/ShapeInterface.js
@@ -437,7 +437,7 @@
         return function(shape,view,propertyGroup){
             function _propertyGroup(val){
                 if(val == 1){
-                    return _propertyGroup;
+                    return interfaceFunction;
                 } else {
                     return propertyGroup(--val);
                 }
@@ -483,7 +483,7 @@
         return function(shape,view,propertyGroup){
             function _propertyGroup(val){
                 if(val == 1){
-                    return _propertyGroup;
+                    return interfaceFunction;
                 } else {
                     return propertyGroup(--val);
                 }
@@ -599,7 +599,7 @@
         return function(shape,view,propertyGroup){
             function _propertyGroup(val){
                 if(val == 1){
-                    return _propertyGroup;
+                    return interfaceFunction;
                 } else {
                     return propertyGroup(--val);
                 }
@@ -672,7 +672,7 @@
         return function(shape,view,propertyGroup){
             function _propertyGroup(val){
                 if(val == 1){
-                    return _propertyGroup;
+                    return interfaceFunction;
                 } else {
                     return propertyGroup(--val);
                 }