         }
         
         assert(targetView.superview != nil, "The target view does not have a superview")
-        var targetRelativeOrigin = targetView.superview!.convertPoint(targetView.frame.origin, toView: superview)
-        var containerRelativeOrigin = superview.convertPoint(containerView.frame.origin, toView: superview)
-
+        let targetRelativeOrigin = targetView.superview!.convertPoint(targetView.frame.origin, toView: superview)
+        let containerRelativeOrigin = superview.convertPoint(containerView.frame.origin, toView: superview)
+        
         // Y coordinate of pointer target (within containerView)
         var pointerY = CGFloat(0)
         

            width: bubbleSize.width + sidePadding * 2,
            height: fullHeight
        )
        finalFrame = finalFrame.integerRect
        
        
        self.transform = CGAffineTransformIdentity

            
            pointDirection = preferredPointDirection
            
            let targetOriginInContainer = targetView.convertPoint(CGPointZero, toView: containerView)
            let sizeBelow =  containerViewHeight - targetOriginInContainer.y
            
            if pointDirection == .Any {
                
