diff --git a/src/main/java/org/opennars/web/multinar/NarNode.java b/src/main/java/org/opennars/web/multinar/NarNode.java
index 210c34bc882cc3da35009c12d3af379ae9d066a5..08baafc61d46490e66aba00693ac27d1dc173227 100644
--- a/src/main/java/org/opennars/web/multinar/NarNode.java
+++ b/src/main/java/org/opennars/web/multinar/NarNode.java
@@ -44,7 +44,6 @@ public class NarNode extends Nar implements EventObserver  {
     
     /* An extra event for received tasks*/
     public class EventReceivedTask {}
-    public class EventReceivedNarsese {}
     
     /* The socket the Nar listens from */
     private DatagramSocket receiveSocket;
@@ -78,8 +77,7 @@ public class NarNode extends Nar implements EventObserver  {
                                 THIS.memory.event.emit(EventReceivedTask.class, new Object[]{ret});
                                 THIS.addInput((Task) ret, THIS);
                             } else
-                            if(ret instanceof String) {
-                                THIS.memory.event.emit(EventReceivedNarsese.class, new Object[]{ret});
+                            if(ret instanceof String) { //emits IN.class anyway
                                 THIS.addInput((String) ret);
                             }
                         }
@@ -145,7 +143,7 @@ public class NarNode extends Nar implements EventObserver  {
      * @param t
      * @throws IOException 
      */
-    private void sendNarsese(String input, TargetNar target) throws IOException {
+    public static void sendNarsese(String input, TargetNar target) throws IOException {
         ByteArrayOutputStream bStream = new ByteArrayOutputStream();
         ObjectOutput oo = new ObjectOutputStream(bStream); 
         oo.writeObject(input);
@@ -159,6 +157,9 @@ public class NarNode extends Nar implements EventObserver  {
             //System.out.println("narsese sent:" + input);
         }
     }
+    public static void sendNarsese(String input, final String targetIP, final int targetPort, final float taskThreshold, Term mustContainTerm) throws IOException {
+        sendNarsese(input, new TargetNar(targetIP, targetPort, taskThreshold, mustContainTerm));
+    }
 
     public static class TargetNar {
         
diff --git a/src/test/java/NarNodeTest.java b/src/test/java/NarNodeTest.java
index 521619f723f92ca892ff71d3d02a8841872c11a0..ac3702a77dadc0242a3d43014ce5d452b688eb32 100644
--- a/src/test/java/NarNodeTest.java
+++ b/src/test/java/NarNodeTest.java
@@ -21,40 +21,43 @@ import javax.xml.parsers.ParserConfigurationException;
 import org.junit.Test;
 import org.opennars.entity.Task;
 import org.opennars.io.events.EventEmitter;
+import org.opennars.io.events.OutputHandler.IN;
 import org.opennars.web.multinar.NarNode;
+import org.opennars.web.multinar.NarNode.TargetNar;
 import org.xml.sax.SAXException;
 
 
 public class NarNodeTest {
     static Integer a = 0;
     @Test
-    public void example1() throws UnknownHostException, IOException, SocketException, InstantiationException, InvocationTargetException, 
+    public void testNarToNar() throws UnknownHostException, IOException, SocketException, InstantiationException, InvocationTargetException, 
             NoSuchMethodException, ParserConfigurationException, IllegalAccessException, SAXException, ClassNotFoundException, ParseException, InterruptedException {
         int nar1port = 64001;
         int nar2port = 64002;
         String localIP = "127.0.0.1";
         NarNode nar1 = new NarNode(nar1port);
         NarNode nar2 = new NarNode(nar2port);
-        nar1.addRedirectionTo(localIP, nar2port, 0.5f, null);
-        //nar2.connectTo(localIP, nar1port, 0.5f);
+        TargetNar nar2_connection = new TargetNar(localIP, nar2port, 0.5f, null);
+        nar1.addRedirectionTo(nar2_connection);
         nar2.event(new EventEmitter.EventObserver() {
             @Override
             public void event(Class event, Object[] args) {
-                if(event == NarNode.EventReceivedTask.class) {
+                if(event == NarNode.EventReceivedTask.class || event == IN.class) {
                     Task task = (Task) args[0];
                     System.out.println("received task event triggered in nar2: " + task);
-                    System.out.println("success");
                     synchronized(a) {
                         a++;
                     }
                 }
             }
-        }, true, NarNode.EventReceivedTask.class);
+        }, true, NarNode.EventReceivedTask.class, IN.class);
         System.out.println("High priority task occurred in nar1");
+        NarNode.sendNarsese("<{task1} --> [great]>.", nar2_connection);
         nar1.addInput("<{task1} --> [great]>.");
         while(true) {
             synchronized(a) {
-                if(a != 0) {
+                if(a == 2) {
+                    System.out.println("success");
                     break;
                 }
             }