diff --git a/src/drawer.js b/src/drawer.js
index 102085f9..0792e2e6 100644
--- a/src/drawer.js
+++ b/src/drawer.js
@@ -515,9 +515,15 @@ function updateViewport( drawer ) {
         ).x;
 
         zeroRatioT      = drawer.viewport.deltaPixelsFromPoints( 
-            drawer.source.getPixelRatio( 0 ), 
+            drawer.source.getPixelRatio( 
+                Math.max(
+                    drawer.source.getClosestLevel( drawer.viewport.containerSize ) - 1,
+                    0
+                )
+            ), 
             false
         ).x;
+        console.log( "ZERO RATIO T %s", drawer.source.getClosestLevel( drawer.viewport.containerSize ) );
         
         optimalRatio    = drawer.immediateRender ? 
             1 : 
@@ -850,7 +856,7 @@ function blendTile( drawer, tile, x, y, level, levelOpacity, currentTime ){
     }
 
     deltaTime   = currentTime - tile.blendStart;
-    opacity     = Math.min( 1, deltaTime / ( blendTimeMillis || 1 ) );
+    opacity     = blendTimeMillis ? Math.min( 1, deltaTime / ( blendTimeMillis ) ) : 1;
     
     if ( drawer.alwaysBlend ) {
         opacity *= levelOpacity;
@@ -1080,14 +1086,16 @@ function drawTiles( drawer, lastDrawn ){
                 //$.console.log("Rendering collection tile %s | %s | %s", tile.y, tile.y, position);
                 if( tileSource ){
                     drawer.collectionOverlays[ tileKey ] = viewer = new $.Viewer({
-                        element:               $.makeNeutralElement( "div" ),
-                        mouseNavEnabled:       false,
-                        showNavigator:         false,
-                        showSequenceControl:   false,
-                        showNavigationControl: false,
-                        //visibilityRatio:       1,
-                        //debugMode:             true,
-                        //debugGridColor:        'red',
+                        element:                $.makeNeutralElement( "div" ),
+                        mouseNavEnabled:        false,
+                        showNavigator:          false,
+                        showSequenceControl:    false,
+                        showNavigationControl:  false,
+                        //visibilityRatio:        1,
+                        //debugMode:              true,
+                        //debugGridColor:         'red',
+                        animationTime:          0,
+                        blentTime:              0.1,
                         tileSources: [
                             tileSource
                         ]
diff --git a/src/navigator.js b/src/navigator.js
index 04d17a4d..1a5defdd 100644
--- a/src/navigator.js
+++ b/src/navigator.js
@@ -37,7 +37,10 @@ $.Navigator = function( options ){
         showNavigator:          false,
         mouseNavEnabled:        false,
         showNavigationControl:  false,
-        showSequenceControl:    false
+        showSequenceControl:    false,
+        immediateRender:        true,
+        blendTime:              0,
+        animationTime:          0
     });
 
     options.minPixelRatio = this.minPixelRatio = viewer.minPixelRatio;
@@ -228,6 +231,20 @@ $.extend( $.Navigator.prototype, $.EventHandler.prototype, $.Viewer.prototype, {
             }( this.displayRegion.style ));  
         } 
 
+    },
+
+    open: function( source ){
+        var containerSize = this.viewer.viewport.containerSize.times( this.sizeRatio );
+        if( source.tileSize > containerSize.x || 
+            source.tileSize > containerSize.y ){
+            this.minPixelRatio = Math.min( 
+                containerSize.x, 
+                containerSize.y 
+            ) / source.tileSize;
+        } else {
+            this.minPixelRatio = thie.viewer.minPixelRatio;
+        }
+        return $.Viewer.prototype.open.apply( this, [ source ] );
     }
 
 });
diff --git a/src/openseadragon.js b/src/openseadragon.js
index b9c0b6dc..aabbf0fb 100644
--- a/src/openseadragon.js
+++ b/src/openseadragon.js
@@ -475,25 +475,25 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){
             wrapHorizontal:         false,
             wrapVertical:           false,
             visibilityRatio:        0.5,
-            minPixelRatio:          0.5,
-            minZoomImageRatio:      0.8,
-            maxZoomPixelRatio:      2,
+            minPixelRatio:          0.9,
             defaultZoomLevel:       0,
             minZoomLevel:           null,
             maxZoomLevel:           null, 
 
             //UI RESPONSIVENESS AND FEEL
-            springStiffness:        5.0,
+            springStiffness:        7.0,
             clickTimeThreshold:     300,
             clickDistThreshold:     5,
             zoomPerClick:           2.0,
             zoomPerScroll:          1.2,
             zoomPerSecond:          2.0,
-            animationTime:          1.5,
-            blendTime:              1.5,
+            animationTime:          1.0,
+            blendTime:              0,
             alwaysBlend:            false,
             autoHideControls:       true,
             immediateRender:        false,
+            minZoomImageRatio:      0.8,
+            maxZoomPixelRatio:      1.2,
 
             //DEFAULT CONTROL SETTINGS
             showSequenceControl:    true,  //SEQUENCE
@@ -532,7 +532,7 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){
             //PERFORMANCE SETTINGS
             imageLoaderLimit:       0,
             maxImageCacheCount:     200,
-            timeout:                5000,
+            timeout:                30000,
 
             //INTERFACE RESOURCE SETTINGS
             prefixUrl:              "/images/",
diff --git a/src/referencestrip.js b/src/referencestrip.js
index 20f8ff03..80bf10d1 100644
--- a/src/referencestrip.js
+++ b/src/referencestrip.js
@@ -377,11 +377,13 @@ function loadPanels(strip, viewerSize, scroll){
                 tileSources:            [ strip.viewer.tileSources[ i ] ],
                 element:                element,
                 navigatorSizeRatio:     strip.sizeRatio,
-                minPixelRatio:          strip.minPixelRatio, 
                 showNavigator:          false,
                 mouseNavEnabled:        false,
                 showNavigationControl:  false,
-                showSequenceControl:    false
+                showSequenceControl:    false,
+                immediateRender:        true,
+                blendTime:              0,
+                animationTime:          0
             } ); 
 
             miniViewer.displayRegion           = $.makeNeutralElement( "textarea" );
diff --git a/src/tile.js b/src/tile.js
index 4cb6d22e..35e6821b 100644
--- a/src/tile.js
+++ b/src/tile.js
@@ -1,7 +1,5 @@
 (function( $ ){
-    var TILE_CACHE       = {},
-        TILE_CACHE_STACK = [],
-        TILE_CACHE_MAX   = 256;
+    var TILE_CACHE       = {};
 /**
  * @class
  * @param {Number} level The zoom level this tile belongs to.
diff --git a/src/tilesource.js b/src/tilesource.js
index 3b64821b..11cc499a 100644
--- a/src/tilesource.js
+++ b/src/tilesource.js
@@ -180,6 +180,24 @@ $.TileSource.prototype = {
         return new $.Point(rx, ry);
     },
 
+
+    /**
+     * @function
+     * @param {Number} level
+     */
+    getClosestLevel: function( rect ) {
+        var i,
+            tilesPerSide = Math.floor( Math.max( rect.x, rect.y ) / this.tileSize ),
+            tiles;
+        for( i = this.minLevel; i < this.maxLevel; i++ ){
+            tiles = this.getNumTiles( i );
+            if( Math.max( tiles.x, tiles.y ) + 1 >= tilesPerSide ){
+                break;
+            }
+        }
+        return Math.max( 0, i - 1 );
+    },
+
     /**
      * @function
      * @param {Number} level