 		
 		public static function export():void
 		{
-			if (lastHtml5WindowName)
-				JavaScript.exec(
-					jsVars(true),
-					'var obj = window[WEAVE_EXTERNAL_TOOLS][windowName];',
-					'obj.window.close();'
-				);
-			ExternalTool.launch(WeaveAPI.globalHashMap, url, lastHtml5WindowName = ExternalTool.generateWindowName());
+			// clear all old window pointers because it gets very slow otherwise
+			JavaScript.exec(
+				jsVars(true),
+				'window[WEAVE_EXTERNAL_TOOLS][windowName].window.close();'
+			);
+			
+			ExternalTool.launch(WeaveAPI.globalHashMap, url, windowName);
 		}
 		
 		public static function disableScripts(exportUrl:String = null):void

			});
		}
		
		private static var lastHtml5WindowName:String;
		
		public static function get shown():Boolean
		{

		{
			return {
				WEAVE_EXTERNAL_TOOLS: ExternalTool.WEAVE_EXTERNAL_TOOLS,
				'windowName': windowName,
				'catch': catchErrors && function():*{}
			};
		}
		
		public static function get exported():Boolean
		{
			return JavaScript.exec(
