 // MARK: Lazy Property Creation
 private extension ZoomView {
     func _createScrollView() -> UIScrollView {
+        let contentView: UIView = self._contentView
         let scrollView: UIScrollView = UIScrollView(frame: self.bounds)
-        scrollView.contentSize = self.bounds.size
         scrollView.clipsToBounds = false
         scrollView.delegate = self
-        scrollView.addSubview(self._contentView)
+        scrollView.addSubview(contentView)
+        scrollView.contentSize = contentView.size
         return scrollView
     }
 }

// MARK: Update Zoom Scales
private extension ZoomView {
    func _updateZoomScales() {
        let contentView: UIView = self._contentView
        let scrollView: UIScrollView = self._scrollView
        
        let widthRatio: CGFloat = scrollView.width / contentView.width
        let heightRatio: CGFloat = scrollView.height / contentView.height

    }
    
    // Designated Init
    fileprivate init(frame: CGRect, contentView: UIView) {
        self._contentView = contentView
        super.init(frame: frame)
        self._addSubviews()
