diff --git a/pd/nw/css/c64.css b/pd/nw/css/c64.css
index abb0cc816834f4a6a55b48206d91739753f5db97..62c3c54d9926626dc0ae3039d3d5b5413f16b338 100644
--- a/pd/nw/css/c64.css
+++ b/pd/nw/css/c64.css
@@ -124,7 +124,8 @@ mark.console_find_highlighted {
 
 /* selected connection between objects */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: #cc9933;
 }
 
diff --git a/pd/nw/css/default.css b/pd/nw/css/default.css
index 0864425328cea236a724256ab68e61932c1757b5..ea5ea5da9a31f6bdc2d6545e40fcb06a8a72dfd0 100644
--- a/pd/nw/css/default.css
+++ b/pd/nw/css/default.css
@@ -228,9 +228,10 @@ mark.console_find_highlighted {
     stroke: #565;
 }
 
-/* selected connection between objects */
+/* selected connection between objects, or a new cord not yet connected */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: #e87216;
 }
 
@@ -387,7 +388,7 @@ text {
 
 #patchsvg.editmode .comment .border {
     stroke: #aaa;
-    stroke-dasharray: 8 4;
+    stroke-dasharray: 3 2;
 }
 
 /* A little hack for special case of [cnv].
@@ -425,21 +426,22 @@ text {
 
 /* text inside selected objects */
 :not(.gop).selected text {
-    fill: blue;
+    fill: #e87216;
 }
 
 /* for an object that didn't create */
 .obj .border.broken_border {
-    fill: #f7f7f7;
+    fill: #f7d7d7;
     stroke: #f00;
-    stroke-dasharray: 3 2;
+    stroke-width: 2;
+    stroke-dasharray: 6 2;
 }
 
 /* control inlet */
 .xlet_control {
     stroke: #777;
     fill: white;
-//    stroke-width: 1;
+    stroke-width: 1;
 }
 
 /* signal inlet */
@@ -458,7 +460,7 @@ text {
 
 /* text label for an iemgui */
 .iemgui_label_selected {
-    fill: blue;
+    fill: #e87216;
 }
 
 /* test of xlet hover animation... this should 
@@ -474,19 +476,26 @@ text {
         rx: 1;
         ry: 1;
     }
-    100% {
-        stroke-width: 20;
-        stroke-opacity: 0.2;
-        rx: 50;
-        ry: 50;
+    33% {
+        stroke-width: 12;
+        stroke-opacity: 1;
+        rx: 1;
+        ry: 1;
+    }
+    66% {
+        stroke-width: 5;
+        stroke-opacity: 1;
+        rx: 1;
+        ry: 1;
     }
 }
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: orange !important;
-    fill: orange;
-    -webkit-animation: fizzle 0.4s linear 1;
+    stroke: #e87216;
+    fill: #e87216;
+    stroke-width: 5;
+    -webkit-animation: fizzle 0.4s ease-in 1;
 }
 
 #canvas_find {
diff --git a/pd/nw/css/inverted.css b/pd/nw/css/inverted.css
index cfd662a755dd5ecc0a3c447b074dc08a4a236e0e..8e3510bd04f062cd2e495a99e72c3c83398e4a1c 100644
--- a/pd/nw/css/inverted.css
+++ b/pd/nw/css/inverted.css
@@ -135,7 +135,8 @@ mark.console_find_highlighted {
 
 /* selected connection between objects */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: blue;
 }
 
diff --git a/pd/nw/css/solarized.css b/pd/nw/css/solarized.css
index 3b2e4b836c902baad81e6f0f690e86fc39a398ab..45aff43aa09cf773089ca76bb2d8aedffa2ce2e1 100644
--- a/pd/nw/css/solarized.css
+++ b/pd/nw/css/solarized.css
@@ -128,7 +128,8 @@ mark.console_find_highlighted {
 
 /* selected connection between objects */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: #268bd2;
 }
 
diff --git a/pd/nw/css/solarized_inverted.css b/pd/nw/css/solarized_inverted.css
index 63a64fb063cbf54d561c878c4981fced8e903c5b..834fff642ad4f11ba266b941b2d5e9714dee905f 100644
--- a/pd/nw/css/solarized_inverted.css
+++ b/pd/nw/css/solarized_inverted.css
@@ -128,7 +128,8 @@ mark.console_find_highlighted {
 
 /* selected connection between objects */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: #b58900;
 }
 
diff --git a/pd/nw/css/strongbad.css b/pd/nw/css/strongbad.css
index dbc601349ce4641c889a8cb717c7ba5b1d487111..3251fc431bf73951e65dac358b5919790ddf93d5 100644
--- a/pd/nw/css/strongbad.css
+++ b/pd/nw/css/strongbad.css
@@ -125,7 +125,8 @@ mark.console_find_highlighted {
 
 /* selected connection between objects */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: #53b83b;
 }
 
diff --git a/pd/nw/css/subdued.css b/pd/nw/css/subdued.css
index 5a364bbc17c075e3cf2836d6780ea6644663113d..a0a9e3dd69f6764eacd98224834816c516d43a35 100644
--- a/pd/nw/css/subdued.css
+++ b/pd/nw/css/subdued.css
@@ -125,7 +125,8 @@ mark.console_find_highlighted {
 
 /* selected connection between objects */
 .cord.signal.selected_line,
-.cord.control.selected_line {
+.cord.control.selected_line,
+#newcord {
     stroke: blue;
 }
 
diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index 92f03ded89ea76c2a5548cf642d390e52e35b28d..cc98c265ebed858a603eaead924e56a07925b445 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -3479,10 +3479,14 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
                     canvas_check_nlet_highlights(x);
                 }
             }
-                /* look for an outlet */
-                // if object is valid, has outlets,
-                // and we are within the bottom area of an object
-            else if (ob && (noutlet = obj_noutlets(ob)) && ypos >= y2-4)
+                /* look for an outlet
+                   if object is valid, has outlets,
+                   and we are within the bottom area of an object
+                   ico@vt.edu: 2020-06-05 added expanded hotspot for
+                   nlets for easier pinpointing
+                */
+            else if (ob && (noutlet = obj_noutlets(ob)) &&
+                ypos >= y2-4-(x->gl_editor->canvas_cnct_inlet_tag[0] != 0 ? 2 : 0))
             {
                 int width = x2 - x1;
                 int nout1 = (noutlet > 1 ? noutlet - 1 : 1);
@@ -3490,8 +3494,13 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
                 int hotspot = x1 +
                     (width - IOWIDTH) * closest / (nout1);
                 // if we are within the boundaries of an nlet
+                /* ico@vt.edu: account for enlarged nlet when already
+                   highlighted to make it easier to "hit" the nlet */
+                int enlarged = 0;
+                if (x->gl_editor->canvas_cnct_inlet_tag[0] == closest)
+                    enlarged = 5;
                 if (closest < noutlet &&
-                    xpos >= (hotspot-1) && xpos <= hotspot + (IOWIDTH+1))
+                    xpos >= (hotspot-1-enlarged) && xpos <= hotspot + (IOWIDTH+1+enlarged))
                 {
                     if (doit)
                     {
@@ -3566,8 +3575,12 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
                 }
             }
                 /* look for an inlet (these are colored differently
-                   since they are not connectable) */
-            else if (ob && (ninlet = obj_ninlets(ob)) && ypos <= y1+4)
+                   since they are not connectable)
+                   ico@vt.edu: 2020-06-05 added expanded hotspot for
+                   nlets for easier pinpointing
+                */
+            else if (ob && (ninlet = obj_ninlets(ob))
+                && ypos <= y1+4+(x->gl_editor->canvas_cnct_inlet_tag[0] != 0 ? 2 : 0))
             {
                 canvas_setcursor(x, CURSOR_EDITMODE_NOTHING);
                 int width = x2 - x1;
@@ -3575,8 +3588,13 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
                 int closest = ((xpos-x1) * (nin1) + width/2)/width;
                 int hotspot = x1 +
                     (width - IOWIDTH) * closest / (nin1);
+                /* ico@vt.edu: account for enlarged nlet when already
+                   highlighted to make it easier to "hit" the nlet */
+                int enlarged = 0;
+                if (x->gl_editor->canvas_cnct_inlet_tag[0] == closest)
+                    enlarged = 5;
                 if (closest < ninlet &&
-                    xpos >= (hotspot-1) && xpos <= hotspot + (IOWIDTH+1))
+                    xpos >= (hotspot-1-enlarged) && xpos <= hotspot + (IOWIDTH+1+enlarged))
                 {
                        t_rtext *yr = glist_findrtext(x, (t_text *)&ob->ob_g);