 		{
 			visited[obj] = true;
 			
-			var inner:IsoDisplayObject
-			for each(inner in dependency[obj])
-			{
-				if (true !== visited[inner])
+			for each(var inner:IsoDisplayObject in dependency[obj])
+				if(true !== visited[inner])
 					place(inner);
-			}
-				
+			
 			if (depth != obj.depth)
 			{
 				scene.setChildIndex(obj, depth);

				//var topA:Number = objA.isoZ + objA.isoHeight;

				// TODO - getting bounds objects REALLY slows us down, too.  It creates a new one every time you ask for it!
				/*var rightA:Number = objA.x + objA.width;
				var frontA:Number = objA.y + objA.length;
				var topA:Number = objA.z + objA.height;*/
				
				var rightA:Number = objA.isoX + objA.isoWidth;
				var frontA:Number = objA.isoY + objA.isoLength;
				var topA:Number = objA.isoZ + objA.isoHeight;
				
				var j:uint;
				for (j; j < max; ++j)
				{
					var objB:IsoDisplayObject = children[j];
					

					
					// See if B should go behind A
					// simplest possible check, interpenetrations also count as "behind", which does do a bit more work later, but the inner loop tradeoff for a faster check makes up for it
					if ((objB.x < rightA) &&
					    (objB.y < frontA) &&
						(objB.z < topA) &&
						(i !== j))
					{
						behind.push(objB);
