             }
             
             if let v = view?.superview {
-                assert(superview == nil || v == superview, "Layout intentions can't be calculated for views with diffferent superview")
+                
+                if !(superview == nil || v == superview) {
+                    print("[LayoutOps:WARNING] Put operation will produce undefined results for views with different superview")
+                    print("Correct Superview: \(superview)")
+                    print("Wrong Superview: \(v)")
+                }
                 superview = v;
             }
         }

        let toFollowView = anchorToFollow.view
        let followerView = followerAnchor.view
        
        assert(toFollowView.superview == followerView.superview)
        
        let anchorToFollowFrame = frameForView(toFollowView, layouts: &layouts)
        let followerAnchorFrame = frameForView(followerView, layouts: &layouts)

    }
    
    public init(topAnchor: VViewAnchor, bottomAnchor: VViewAnchor) {
        self.init(topAnchor: topAnchor, leftAnchor: .Parent, bottomAnchor: bottomAnchor, rightAnchor: .Parent)
    }
    
    public init(leftAnchor: HViewAnchor, rightAnchor: HViewAnchor) {
        self.init(topAnchor: .Parent, leftAnchor: leftAnchor, bottomAnchor: .Parent, rightAnchor: rightAnchor)
    }
    
    public init(topAnchor: VViewAnchor) {
        
        self.init(topAnchor: topAnchor, leftAnchor: .Parent, bottomAnchor: .Parent, rightAnchor: .Parent)
    }
    
    public init(leftAnchor: HViewAnchor) {
        self.init(topAnchor: .Parent, leftAnchor: leftAnchor, bottomAnchor: .Parent, rightAnchor: .Parent)
    }
    
    public init(bottomAnchor: VViewAnchor) {
        
        self.init(topAnchor: .Parent, leftAnchor: .Parent, bottomAnchor: bottomAnchor, rightAnchor: .Parent)
    }
    
    public init(rightAnchor: HViewAnchor) {
        self.init(topAnchor: .Parent, leftAnchor: .Parent, bottomAnchor: .Parent, rightAnchor: rightAnchor)
    }
    
    public init() {
        
        self.init(topAnchor: .Parent, leftAnchor: .Parent, bottomAnchor: .Parent, rightAnchor: .Parent)
    }
    
    func apply(bounds: CGRect, layouts:[UIView: CGRect]) -> CGRect {
