     }
     var ap = drawBorder(x, y: y, size: size)
     let w = size.width - size.borderLeft - size.borderRight
+    //NC.pd("\(inspect(size))")
     for s in size.children! {
-      if s.width <= w {
+      if s.expandWidth > 0 {
+        NC.pd("repeat for good measure!")
+        var expandedSize = s
+        expandedSize.width = w
+        s.element!.draw(ap.x, y: ap.y, size: expandedSize)
+      } else if s.width <= w {
         s.element!.draw(ap.x, y: ap.y, size: s)
       } else {
         var clippedSize = s

        t.borderBottom = 1
        t.height += 1
      }
    }
    return t
  }

          t.expandHeightFreely += 1
        }
      }
      if s.expandParentWidth {
        t.expandParentWidth = true
      }
      if s.expandParentHeight {
        t.expandParentHeight = true
      }
    }
    if t.width > 0 {
