 {	
 	import org.apache.flex.core.IBeadLayout;
 	import org.apache.flex.core.IContainer;
+    import org.apache.flex.core.ILayoutParent;
 	import org.apache.flex.core.IMeasurementBead;
+    import org.apache.flex.core.IParent;
 	import org.apache.flex.core.IStrand;
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIBase;

					curx = 0;
				}
			}
			if (!hasWidth && n > 0 && !isNaN(maxWidth) && 
                (!(ValuesManager.valuesImpl.getValue(host, "left") !== undefined) &&
                  (ValuesManager.valuesImpl.getValue(host, "right") !== undefined)))
            {
                lastWidth = maxWidth;
                host.setWidth(maxWidth, true);
            }
            if (!hasHeight && n > 0 && !isNaN(maxHeight) && 
                (!(ValuesManager.valuesImpl.getValue(host, "top") !== undefined) &&
                    (ValuesManager.valuesImpl.getValue(host, "bottom") !== undefined)))
            {
                lastHeight = maxHeight;
                host.setHeight(maxHeight, true);
            }
			return true;
		}

			_numColumns = value;
		}
		
        /**
         * @copy org.apache.flex.core.IBeadLayout#layout
         */
		public function layout():Boolean
		{			
            var host:UIBase = UIBase(_strand);
            var layoutParent:ILayoutParent = host.getBeadByType(ILayoutParent) as ILayoutParent;
            var contentView:IParent = layoutParent.contentView;
			var sw:Number = host.width;
			var sh:Number = host.height;
			
            var hasWidth:Boolean = host.isWidthSizedToContent();
            var hasHeight:Boolean = host.isHeightSizedToContent();
			var e:IUIBase;
			var i:int;
			var col:int = 0;
