      */
     public function set y(value:Number):void
     {
-        if (_y == value)
-            return;
-
-        var oldValue:Number = _y;
-        _y = value;
+        var oldValue:Number = xformOffsets.layoutY;
+        if (oldValue == value)
+            return;
+
+        xformOffsets.layoutY = value;
         dispatchPropertyChangeEvent("y", oldValue, value);
-
-        yChanged = true;
-        invalidateProperties();
-        // Parent layout takes transform into account
-        invalidateParentSizeAndDisplayList();
+		invalidateTransform(false);
+    }
+
+    //----------------------------------
+    //  z
+    //----------------------------------   
+
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+    
+    /**
+     *  The y position of the graphic element.
+     */
+    public function get z():Number
+    {
+        return xformOffsets.layoutZ;
+    }
+
+    /**
+     *  @private
+     */
+    public function set z(value:Number):void
+    {
+        var oldValue:Number = xformOffsets.layoutZ;
+        if (oldValue == value)
+            return;
+		
+        xformOffsets.layoutZ = value;
+        dispatchPropertyChangeEvent("z", oldValue, value);
+		invalidateTransform();
     }
 
     //----------------------------------

     */
    public function get scaleX():Number
    {
        return _scaleX;
    }

    /**

    protected function commitProperties():void
    {
        //trace("GraphicElement.commitProperties displayObject",displayObject,"this",this);
    	var updateTransform:Boolean = false;
        if (displayObject)
        {
            if (alphaChanged)
