                 } else {
                     tryStackViewVerticallyWithPreviousView(v, index: i, objects: objects)
                 }
+            }
+            
+            switch o {
+            case let v as UIView:
+                viewLogic(v)
             case is Int, is Double, is CGFloat:
                 let m = cgFloatMarginFromObject(o)
                 previousMargin = m // Store margin for next pass

            case _ as String:() //Do nothin' !
            case let a as [UIView]:
                align(horizontally: a)
            let v = a.first!
            if let pm = previousMargin {
                if i == 1 {
                    v.top(pm) // only if first view
                } else {
                    if let vx = objects[i-2] as? UIView {
                        vx.stackV(m: pm, v: v)
                    } else if let va = objects[i-2] as? [UIView] {
                        va.first!.stackV(m: pm, v: v)
                    }
                }
                previousMargin = nil
            } else if let pfm = previousFlexibleMargin {
                if i == 1 {
                    v.top(pfm) // only if first view
                } else {
                    if let vx = objects[i-2] as? UIView {
                        addConstraint(
                            item: v, attribute: .top,
                            relatedBy: pfm.relation,
                            toItem: vx, attribute: .bottom,
                            multiplier: 1, constant: pfm.points
                        )
                    } else if let va = objects[i-2] as? [UIView] {
                        addConstraint(
                            item: v, attribute: .top,
                            relatedBy: pfm.relation,
                            toItem: va.first!, attribute: .bottom,
                            multiplier: 1, constant: pfm.points
                        )
                    }
                }
                previousFlexibleMargin = nil
            } else {
                tryStackViewVerticallyWithPreviousView(v, index: i, objects: objects)
            }
            default: ()
            }
        }

    public func layout(_ objects: [Any]) -> [UIView] {
        var previousMargin: CGFloat?
        var previousFlexibleMargin: SteviaFlexibleMargin?
        
        for (i, o) in objects.enumerated() {
            
            func viewLogic(_ v: UIView) {
                if let pm = previousMargin {
                    if i == 1 {
                        v.top(pm) // only if first view
