     func configureSizeAndPosition(parentView: CGRect) {
         
         self.initialCenter = self.center
-        self.finalCenter = CGPointMake(parentView.size.width - parentView.size.width/4, parentView.size.height - (self.frame.size.height/4) - 5)
+        self.finalCenter = CGPointMake(parentView.size.width - parentView.size.width/4, parentView.size.height - (self.frame.size.height/4) - 2)
         
         initialSize = self.frame.size
-        finalSize = CGSizeMake(parentView.size.width/2 - 20, (parentView.size.width/2 - 20) * 0.5625)
+        finalSize = CGSizeMake(parentView.size.width/2 - 10, (parentView.size.width/2 - 10) * aspectRatio)
+        
+        // Set common range totals once
+        rangeTotal = finalCenter!.y - initialCenter!.y
+        widthRange = initialSize!.width - finalSize!.width
+        centerXRange = finalCenter!.x - initialCenter!.x
     }
     
     func panning(panGesture: UIPanGestureRecognizer) {

                chosenCenter = initialCenter!
                chosenSize = initialSize!
            }
            println("Chosens: \(chosenCenter) and \(chosenSize)")
            
            if panGesture.view?.center != chosenCenter {
                UIView.animateWithDuration(0.4, animations: {

    var initialSize: CGSize?
    var finalSize: CGSize?
    var firstX: CGFloat = 0, firstY: CGFloat = 0
    var aspectRatio: CGFloat = 0.5625
    
    var rangeTotal: CGFloat!
    var widthRange: CGFloat!
    var centerXRange: CGFloat!
    
    override init(frame: CGRect) {
        super.init(frame: frame)
