diff --git a/ui/experiments/dynamic-loading.html b/ui/experiments/dynamic-loading.html
index 6b79a8ff..b598942d 100755
--- a/ui/experiments/dynamic-loading.html
+++ b/ui/experiments/dynamic-loading.html
@@ -117,21 +117,7 @@ function makeImage(id){
 	return $('
')
 			.attr({id: id})
 			.click(selectImage)
-}
-
-function updateImage(image, cur, r, index){
-	console.log(cur, r, index)
-	var id = image.attr('id')
-	if(id == cur){
-		image.addClass('current')
-	}
-	var cur_i = index.indexOf(cur)
-	if(cur_i < 0 || Math.abs(index.indexOf(id)-cur_i) > r){
-		image.addClass('unloaded')
-	} else {
-		image.removeClass('unloaded')
-	}
-	return image
+			.addClass('unloaded')
 }
 
 function loadJSON(json){
@@ -145,18 +131,35 @@ function loadJSON(json){
 	for(var i=0; i').appendTo(field)
-			for(var j in images){
-				updateImage(makeImage(j), cur_id, r, index).appendTo(ribbon)
-			}
-		} else {
-			var ribbon = $(view_ribbons[i])
-			for(var j in images){
-				updateImage(ribbon.children('#'+j), cur_id, r, index)
-			}
+		var ribbon = $('').appendTo(field)
+		for(var j in images){
+			makeImage(j).appendTo(ribbon)
 		}
 	}
+	$('#'+cur_id).click()
+}
+
+function updateRibbon(img){
+	var images = img.parents('.ribbon').children('.image')
+	var r = Math.floor(LOAD/2)
+
+	var cur_i = images.index(img)
+
+	// load...
+	var loading = $([])
+	for(var i=Math.max(0, cur_i-r); i<=Math.min(images.length, cur_i+r); i++){
+		loading.push(images[i])
+		images[i] = {}
+	}
+	loading
+		.addClass('loaded')
+		.removeClass('unloaded')
+
+	// unload...
+	images.filter('.loaded').removeClass('loaded').addClass('unloaded')
+	//$('.image.loaded').not('._cur').removeClass('loaded').addClass('unloaded')
+	//images.filter('._cur').removeClass('_cur')
+	$('.image._cur').removeClass('_cur')
 }
 
 function selectImage(){
@@ -166,7 +169,8 @@ function selectImage(){
 	// update json...
 	json.position = $(this).attr('id')
 	// update visible images...
-	loadJSON(json)
+	//loadJSON(json)
+	updateRibbon($('.current.image'))
 }
 
 loadJSON(json)
diff --git a/ui/gallery-prototype.js b/ui/gallery-prototype.js
index 849f3a6b..8b01205c 100755
--- a/ui/gallery-prototype.js
+++ b/ui/gallery-prototype.js
@@ -1161,7 +1161,7 @@ function makeImage(url, order, set_order){
 		set_order = setImageOrder
 	}
 	return (setupImageEventHandlers(
-				set_order($('')
+				set_order($('')
 					.css({ 'background-image': 'url('+url+')' }), order)))
 }
 
@@ -1270,9 +1270,9 @@ function loadJSON(data, position, set_order){
 		var ribbon = $('')
 			.appendTo(field)
 		for(var j in images){
-			var image = $(images[j])
+			var image = images[j]
 			// create image...
-			makeImage(image.attr('url'), j, set_order)
+			makeImage(image['url'], j, set_order)
 				.appendTo(ribbon)
 		}
 	}