 				//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 rightA:Number = objA.x + objA.width;
 				var frontA:Number = objA.y + objA.length;
-				var topA:Number = objA.z + objA.height;*/
+				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)
+				for (var j:uint = 0; 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.isoX < rightA) &&
					    (objB.isoY < frontA) &&
						(objB.isoZ < topA) &&
						(i !== j))
					{
						behind.push(objB);

			
			// Set the childrens' depth, using dependency ordering
			depth = 0;
			for each (var obj:IsoDisplayObject in children)
				if (true !== visited[obj])
					place(obj);
			
			// Clear out temporary dictionary so we're not retaining memory between calls
			visited = new Dictionary();
