diff --git a/src/communication/communicator.hpp b/src/communication/communicator.hpp
index 27981695c1818b41948fcae8b6d0682fb26a205a..4480f4d777e896be6bc22f3dec7f20666b4fbf45 100644
--- a/src/communication/communicator.hpp
+++ b/src/communication/communicator.hpp
@@ -92,10 +92,11 @@ public:
     /// events in each queue are all events that must be delivered to targets in that cell
     /// group as a result of the global spike exchange.
     std::vector<event_queue> exchange(const std::vector<spike_type>& local_spikes,
-        std::function<void ()> export_function) //const std::vector<spike_type>&
+        std::function<void (std::vector<spike_type>)> export_function) //const std::vector<spike_type>&
     {
         // global all-to-all to gather a local copy of the global spike list on each node.
         
+
         bool file_per_rank = true;
         if (file_per_rank) {
             export_function(); //local_spikes
diff --git a/src/model.hpp b/src/model.hpp
index 2ebaf14f85c45267bdd3e0f122e8b02ca3db191c..02b7b370756d06eccd48ddadf77350efbd496985 100644
--- a/src/model.hpp
+++ b/src/model.hpp
@@ -138,7 +138,8 @@ public:
                 PE("stepping", "exchange");
                 auto local_spikes = previous_spikes().gather();
                 future_events() = communicator_.exchange(local_spikes,
-                    [&] { exporter_->add_and_export(); });
+//                    [&] { exporter_->add_and_export(std::vector<spike_type> spikes); });
+                [&] { exporter_->add_and_export(std::vector<spike_type> spikes); });
                 PL(2);
             };