         // the autolayout for this makes it purposefully twice as big
         // then shrinks it down via a transform
         // this is so a 'normal' size page is what loads.
+        webView.translatesAutoresizingMaskIntoConstraints = false
         self.webImageViewParentView?.addSubview(webView)
         self.webImageViewParentView?.centerYAnchor.constraint(equalTo: webView.centerYAnchor, constant: 0).isActive = true
         self.webImageViewParentView?.centerXAnchor.constraint(equalTo: webView.centerXAnchor, constant: 0).isActive = true
         self.webImageViewParentView?.widthAnchor.constraint(equalTo: webView.widthAnchor, multiplier: 0.5, constant: 0).isActive = true
         self.webImageViewParentView?.heightAnchor.constraint(equalTo: webView.heightAnchor, multiplier: 0.5, constant: 0).isActive = true
-//        let originalTransform = webView.layer!.affineTransform()
-//        webView.layer!.setAffineTransform(originalTransform.scaledBy(x: 0.5, y: 0.5))
-//        webView.layer!.sublayerTransform = CATransform3DMakeScale(0.5, 0.5, 0.0)
-//        webView.layer!.sublayerTransform = CATransform3DMakeAffineTransform(CGAffineTransform(scaleX: 0.5, y: 0.5))
-
+        self.webImageViewParentView?.layout()
+        let webViewBounds = webView.bounds
+        let originalTransform = webView.layer?.sublayerTransform ?? CATransform3DIdentity
+        let scale = CATransform3DScale(originalTransform, 0.5, 0.5, 1.0)
+        let translate = CATransform3DTranslate(scale, webViewBounds.size.width / 2, webViewBounds.size.height / 2, 0)
+        webView.layer?.sublayerTransform = translate
+        
         // load the url in the webview
         let url = URL(string: item.urlString!)!
-        webView.load(URLRequest(url: url))
+        webView.mainFrame.load(URLRequest(url: url))
     }
     
     // MARK: Stage 4 - Optional - Show Error

    }
}

extension WKWebView {
//    var snapshot: NSImage {
//        let rep = self.bitmapImageRepForCachingDisplay(in: self.bounds)!
//        self.cacheDisplay(in: self.bounds, to: rep)
//        let image = NSImage(size: self.bounds.size)
//        image.addRepresentation(rep)
//        return image
//    }
    
    var snapshot: NSImage? {
        
        let layer = self.layer!
        let bounds = layer.bounds
        
        let pixelsHigh = Int(floor(bounds.size.height))
        let pixelsWide = Int(floor(bounds.size.width))
        
        let bitmapBytesPerRow = (pixelsWide * 4)
        
        let colorSpace = CGColorSpace(name: CGColorSpace.sRGB)!
        let context = CGContext(data: nil,
                                width: pixelsWide,
                                height: pixelsHigh,
                                bitsPerComponent: 8,
                                bytesPerRow: bitmapBytesPerRow,
                                space: colorSpace,
                                bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue)
        
        if let context = context {
            layer.render(in: context)
            let img = context.makeImage()!
            let image = NSImage(cgImage: img, size: bounds.size)
            return image
        } else {
            return nil
        }
    }
}

    // MARK: Stage 2 - Animate Card into View
    
    private func configureCard(item: SerializableURLItem) -> Bool {
        self.loadingSpinner?.startAnimation(self)
        
        var webViewNeeded = false
        if let pageTitle = item.pageTitle {
            self.pageTitleLabel?.stringValue = pageTitle
