new expressions
diff --git a/player/index.html b/player/index.html
index 4f1731d..db0890e 100644
--- a/player/index.html
+++ b/player/index.html
@@ -114,7 +114,7 @@
     var animData = {
         container: elem,
         renderer: 'svg',
-        loop: false,
+        loop: true,
         autoplay: true,
         rendererSettings: {
             progressiveLoad:false
diff --git a/player/js/utils/expressions/EffectInterface.js b/player/js/utils/expressions/EffectInterface.js
index 239f6d0..eae83be 100644
--- a/player/js/utils/expressions/EffectInterface.js
+++ b/player/js/utils/expressions/EffectInterface.js
@@ -49,6 +49,13 @@
             }
             return effectElements[0]();
         }
+        if(data.mn === 'ADBE Color Control'){
+            Object.defineProperty(groupInterface, 'color', {
+                get: function(){
+                    return effectElements[0]();
+                }
+            });
+        }
         groupInterface.active = data.en !== 0;
         return groupInterface
     }
diff --git a/player/js/utils/expressions/ShapeInterface.js b/player/js/utils/expressions/ShapeInterface.js
index d7f45d9..ea084c0 100644
--- a/player/js/utils/expressions/ShapeInterface.js
+++ b/player/js/utils/expressions/ShapeInterface.js
@@ -123,6 +123,7 @@
            };
            interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);
            interfaceFunction.numProperties = interfaces.length;
+           interfaceFunction.propertyIndex = shape.cix;
 
            return interfaceFunction;
        }
@@ -181,7 +182,8 @@
                 }
             });
             //interfaceFunction.content = interfaceFunction;
-            interfaceFunction.numProperties = 1;
+            interfaceFunction.numProperties = shape.np;
+            interfaceFunction.propertyIndex = shape.ix;
             interfaceFunction.nm = shape.nm;
             interfaceFunction.mn = shape.mn;
             return interfaceFunction;
@@ -240,9 +242,6 @@
                     }
                 });
             }
-            view.c.setGroupProperty(_propertyGroup);
-            view.o.setGroupProperty(_propertyGroup);
-            view.w.setGroupProperty(_propertyGroup);
             var i, len = shape.d ? shape.d.length : 0;
             var dashOb = {}
             for (i = 0; i < len; i += 1) {
@@ -282,8 +281,9 @@
             Object.defineProperty(interfaceFunction, '_name', { value: shape.nm });
             Object.defineProperty(interfaceFunction, 'mn', { value: shape.mn });
 
-            view.c.setGroupProperty(propertyGroup);
-            view.o.setGroupProperty(propertyGroup);
+            view.c.setGroupProperty(_propertyGroup);
+            view.o.setGroupProperty(_propertyGroup);
+            view.w.setGroupProperty(_propertyGroup);
             return interfaceFunction;
         }
     }());
@@ -304,7 +304,7 @@
             view.o.setGroupProperty(_propertyGroup);
 
             function interfaceFunction(val){
-                if(val === shape.e.ix){
+                if(val === shape.e.ix || val === 'End' || val === 'end'){
                     return interfaceFunction.end;
                 }
                 if(val === shape.s.ix){