diff --git a/src/com/lushprojects/circuitjs1/client/CirSim.java b/src/com/lushprojects/circuitjs1/client/CirSim.java
index 299e9db..cc715eb 100644
--- a/src/com/lushprojects/circuitjs1/client/CirSim.java
+++ b/src/com/lushprojects/circuitjs1/client/CirSim.java
@@ -1023,6 +1023,7 @@ MouseOutHandler, MouseWheelHandler {
     	//outputMenuBar.addItem(getClassCheckItem(LS("Add Lamp"), "LampElm"));
     	outputMenuBar.addItem(getClassCheckItem(LS("Add Text"), "TextElm"));
     	outputMenuBar.addItem(getClassCheckItem(LS("Add Box"), "BoxElm"));
+    	outputMenuBar.addItem(getClassCheckItem(LS("Add Line"), "LineElm"));
     	outputMenuBar.addItem(getClassCheckItem(LS("Add Voltmeter/Scobe Probe"), "ProbeElm"));
     	//outputMenuBar.addItem(getClassCheckItem(LS("Add Ohmmeter"), "OhmMeterElm"));
     	outputMenuBar.addItem(getClassCheckItem(LS("Add Labeled Node"), "LabeledNodeElm"));
@@ -5601,6 +5602,7 @@ MouseOutHandler, MouseWheelHandler {
     	case 420: return new WattmeterElm(x1, y1, x2, y2, f, st);
     	case 421: return new Counter2Elm(x1, y1, x2, y2, f, st);
     	case 422: return new DelayBufferElm(x1, y1, x2, y2, f, st);
+    	case 423: return new LineElm(x1, y1, x2, y2, f, st);
         }
     	return null;
     }
@@ -5772,6 +5774,8 @@ MouseOutHandler, MouseWheelHandler {
     		return (CircuitElm) new VCOElm(x1, y1);
     	if (n=="BoxElm")
     		return (CircuitElm) new BoxElm(x1, y1);
+    	if (n=="LineElm")
+    		return (CircuitElm) new LineElm(x1, y1);
     	if (n=="TextElm")
     		return (CircuitElm) new TextElm(x1, y1);
     	if (n=="TFlipFlopElm")
diff --git a/src/com/lushprojects/circuitjs1/client/ExportAsLocalFileDialog.java b/src/com/lushprojects/circuitjs1/client/ExportAsLocalFileDialog.java
index d48a96f..a64f055 100644
--- a/src/com/lushprojects/circuitjs1/client/ExportAsLocalFileDialog.java
+++ b/src/com/lushprojects/circuitjs1/client/ExportAsLocalFileDialog.java
@@ -56,6 +56,7 @@ public class ExportAsLocalFileDialog extends DialogBox implements ValueChangeHan
 	
 	TextBox textBox;
 	Anchor a;
+	static String lastFileName;
 	
 	public ExportAsLocalFileDialog(String data) {
 		super();
@@ -72,8 +73,13 @@ public class ExportAsLocalFileDialog extends DialogBox implements ValueChangeHan
 		vp.add(new Label(CirSim.LS("Click on the link below to save your circuit")));
 		url=getBlobUrl(data);
 		Date date = new Date();
-		DateTimeFormat dtf = DateTimeFormat.getFormat("yyyyMMdd-HHmm");
-		String fname = "circuit-"+ dtf.format(date) + ".circuitjs.txt";
+		String fname;
+		if (lastFileName != null)
+		    fname = lastFileName;
+		else {
+		    DateTimeFormat dtf = DateTimeFormat.getFormat("yyyyMMdd-HHmm");
+		    fname = "circuit-"+ dtf.format(date) + ".circuitjs.txt";
+		}
 		textBox.setText(fname);
 		a=new Anchor(fname, url);
 		a.getElement().setAttribute("Download", fname);
@@ -96,6 +102,7 @@ public class ExportAsLocalFileDialog extends DialogBox implements ValueChangeHan
 		fname += ".txt";
 	    a.getElement().setAttribute("Download", fname);
 	    a.setText(fname);
+	    lastFileName = fname;
 	}
 	
 	protected void closeDialog()
diff --git a/src/com/lushprojects/circuitjs1/client/LabeledNodeElm.java b/src/com/lushprojects/circuitjs1/client/LabeledNodeElm.java
index 2e1e2d4..1c93a5e 100644
--- a/src/com/lushprojects/circuitjs1/client/LabeledNodeElm.java
+++ b/src/com/lushprojects/circuitjs1/client/LabeledNodeElm.java
@@ -152,4 +152,7 @@ class LabeledNodeElm extends CircuitElm {
 	if (n == 1)
 	    flags = ei.changeFlag(flags, FLAG_INTERNAL);
     }
+    @Override String getScopeText(int v) {
+	return text;
+    }
 }
