diff --git a/Source/Processors/GenericProcessor/GenericProcessor.h b/Source/Processors/GenericProcessor/GenericProcessor.h
index 1135db44a1b6573be25ff1d671552b23212aa28f..ccc9265b63cf0e45a2658a6ed32ef86c6c38c516 100755
--- a/Source/Processors/GenericProcessor/GenericProcessor.h
+++ b/Source/Processors/GenericProcessor/GenericProcessor.h
@@ -510,12 +510,8 @@ public:
         PARAMETER_CHANGE = 2,
         TTL = 3,
         SPIKE = 4,
-        EEG = 5,
-        CONTINUOUS = 6,
-        NETWORK = 7,
-        EYE_POSITION = 8,
-        SERIAL = 9,
-        MESSAGE = 10
+        MESSAGE = 5,
+		BINARY_MSG = 6
     };
 
     /** Variable used to orchestrate saving the ProcessorGraph. */
diff --git a/Source/Processors/NetworkEvents/NetworkEvents.cpp b/Source/Processors/NetworkEvents/NetworkEvents.cpp
index ad9042c6505360f25850701cac2e352a87ec1365..92fdfcabc656f7a7687896f7cf86858487d42b01 100644
--- a/Source/Processors/NetworkEvents/NetworkEvents.cpp
+++ b/Source/Processors/NetworkEvents/NetworkEvents.cpp
@@ -282,9 +282,9 @@ void NetworkEvents::postTimestamppedStringToMidiBuffer(StringTS s, MidiBuffer& e
 	memcpy(msg_with_ts+s.len, &s.timestamp, 8);
 	
 	addEvent(events, 
-			 (uint8) NETWORK,
-			 0,
+			 (uint8) MESSAGE,
 			 0,
+			 1,
 			 0,
 			 (uint8) s.len+8,
 			 msg_with_ts);
diff --git a/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp b/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp
index 31dc71c595b7e710466b53517e4f0879903dcb51..9dea241890c6adea8c28c742588e0fb48d58cce7 100644
--- a/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp
+++ b/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.cpp
@@ -268,7 +268,9 @@ void PeriStimulusTimeHistogramNode::handleEvent(int eventType, MidiMessage& even
     //tictoc.Tic(9);
 	static std::list<long> previousSpikesIDs;
 
-	if (eventType == NETWORK)
+	uint8 eventId = *((uint8*)event.getRawData() + 2);
+
+	if ((eventType == MESSAGE) && (eventId > 0)) //to differentiate network events from simple messages
 	{
 	    //tictoc.Tic(10);
 
diff --git a/Source/Processors/RecordNode/HDF5Recording.cpp b/Source/Processors/RecordNode/HDF5Recording.cpp
index 33c24623b584e75379464b6f04fbd0db5928839b..c85336e88a0b82215ffebdd5cd0ef00b8ea78fe2 100644
--- a/Source/Processors/RecordNode/HDF5Recording.cpp
+++ b/Source/Processors/RecordNode/HDF5Recording.cpp
@@ -186,7 +186,7 @@ void HDF5Recording::writeEvent(int eventType, MidiMessage& event, int samplePosi
     const uint8* dataptr = event.getRawData();
     if (eventType == GenericProcessor::TTL)
         mainFile->writeEvent(0,*(dataptr+2),*(dataptr+1),(void*)(dataptr+3),(*timestamps)[*(dataptr+1)]+samplePosition);
-    else if (eventType == GenericProcessor::MESSAGE || eventType == GenericProcessor::NETWORK)
+    else if (eventType == GenericProcessor::MESSAGE)
         mainFile->writeEvent(1,*(dataptr+2),*(dataptr+1),(void*)(dataptr+6),(*timestamps)[*(dataptr+1)]+samplePosition);
 }
 
diff --git a/Source/Processors/RecordNode/OriginalRecording.cpp b/Source/Processors/RecordNode/OriginalRecording.cpp
index 56c5a3cdc176cc071bd9c3474cf28d53e26d0b16..e6a2ef41759a7abad81e73a81be0dd5e576d9278 100644
--- a/Source/Processors/RecordNode/OriginalRecording.cpp
+++ b/Source/Processors/RecordNode/OriginalRecording.cpp
@@ -371,9 +371,9 @@ String OriginalRecording::generateSpikeHeader(SpikeRecordInfo* elec)
 
 void OriginalRecording::writeEvent(int eventType, MidiMessage& event, int samplePosition)
 {
-    if (eventType == GenericProcessor::TTL)
+    if (isWritableEvent(eventType))
         writeTTLEvent(event,samplePosition);
-    else if (eventType == GenericProcessor::MESSAGE || eventType == GenericProcessor::NETWORK)
+    if (eventType == GenericProcessor::MESSAGE)
         writeMessage(event,samplePosition);
 }
 
diff --git a/Source/Processors/RecordNode/RecordEngine.h b/Source/Processors/RecordNode/RecordEngine.h
index 44d48163b229eeb3c2531db7125d1261347a23b3..c968242f96f7d01a91fa54d17847bf7333878dfc 100644
--- a/Source/Processors/RecordNode/RecordEngine.h
+++ b/Source/Processors/RecordNode/RecordEngine.h
@@ -41,6 +41,8 @@
 #define strParameter(i,v) if ((parameter.id == i) && (parameter.type == EngineParameter::STR)) \
         v = parameter.strParam.value
 
+#define isWritableEvent(ev) (ev == GenericProcessor::TTL) || (ev == GenericProcessor::MESSAGE) || (ev == GenericProcessor::BINARY_MSG)
+
 struct SpikeRecordInfo
 {
     String name;
diff --git a/Source/Processors/RecordNode/RecordNode.cpp b/Source/Processors/RecordNode/RecordNode.cpp
index 564c34171d196a9f2beb934d871d009f6f38acdb..108c04b558d3bac2ac18aa70a3a72d6908f3f779 100755
--- a/Source/Processors/RecordNode/RecordNode.cpp
+++ b/Source/Processors/RecordNode/RecordNode.cpp
@@ -419,7 +419,7 @@ void RecordNode::handleEvent(int eventType, MidiMessage& event, int samplePositi
 {
     if (isRecording && allFilesOpened)
     {
-        if ((eventType == TTL) || (eventType == MESSAGE) || (eventType == NETWORK))
+        if (isWritableEvent(eventType))
         {
             if (event.getRawData()+4 > 0) // saving flag > 0 (i.e., event has not already been processed)
             {
diff --git a/Source/Processors/SerialInput/SerialInput.cpp b/Source/Processors/SerialInput/SerialInput.cpp
index 58b6955d31d609ef329160a6af918b17dde2a426..acc78c0ce17981e969d7ae254237c2f565c857a9 100644
--- a/Source/Processors/SerialInput/SerialInput.cpp
+++ b/Source/Processors/SerialInput/SerialInput.cpp
@@ -110,7 +110,7 @@ void SerialInput::process(AudioSampleBuffer&, MidiBuffer& events)
         if (bytesRead > 0)
         {
             addEvent(events,    // MidiBuffer
-                     SERIAL,    // eventType
+                     BINARY_MSG,    // eventType
                      0,         // sampleNum
                      nodeId,    // eventID
                      0,         // eventChannel