diff --git a/additional_nodes/recirculation-pump.html b/additional_nodes/recirculation-pump.html
new file mode 100644
index 0000000..2027a17
--- /dev/null
+++ b/additional_nodes/recirculation-pump.html
@@ -0,0 +1,57 @@
+
+
+
+
+
diff --git a/additional_nodes/recirculation-pump.js b/additional_nodes/recirculation-pump.js
new file mode 100644
index 0000000..ddf0602
--- /dev/null
+++ b/additional_nodes/recirculation-pump.js
@@ -0,0 +1,38 @@
+module.exports = function(RED) {
+ function recirculation(config) {
+ RED.nodes.createNode(this, config);
+ var node = this;
+
+ let name = config.name;
+ let F2 = parseFloat(config.F2);
+ let inlet = parseInt(config.inlet);
+
+ node.on('input', function(msg, send, done) {
+ switch (msg.topic) {
+ case "Fluent":
+ // conserve volume flow debit
+ let F1 = msg.payload.F;
+ let F_diff = Math.max(F1 - F2, 0);
+ let F2_corr = F1 < F2 ? F1 : F2;
+
+ let msg_F1 = structuredClone(msg);
+ msg_F1.payload.F = F_diff;
+
+ let msg_F2 = structuredClone(msg);
+ msg_F2.payload.F = F2_corr;
+ msg_F2.payload.inlet = inlet;
+
+ send([msg_F1, msg_F2]);
+ break;
+ default:
+ console.log("Unknown topic: " + msg.topic);
+ }
+
+ if (done) {
+ done();
+ }
+ });
+
+ }
+ RED.nodes.registerType("recirculation-pump", recirculation);
+};
diff --git a/advanced-reactor.html b/advanced-reactor.html
index a1a7ea7..6db1abe 100644
--- a/advanced-reactor.html
+++ b/advanced-reactor.html
@@ -1,7 +1,7 @@