diff --git a/configs/EMPFlow_GN3dev.json b/configs/EMPFlow_GN3dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..82384fa93ad5f0cf6e03a2fb0ed74b5ed6395efd
--- /dev/null
+++ b/configs/EMPFlow_GN3dev.json
@@ -0,0 +1,184 @@
+{
+    "file" : "fragments/pflow-base.json",
+    "dl2_configs": [
+        {
+            "nn_file_path": "BTagging/20220509/gn1/antikt4empflow/network.onnx",
+            "engine": "gnn"
+        }
+    ],
+    "variables": {
+        "jet" : {
+            "ints" : ["n_tracks"],
+            "uints": ["jetFoldHash", "jetFoldHash_noHits"]
+        },
+        "btagging": {
+            "floats": [
+                "GN120220509_pb",
+                "GN120220509_pc",
+                "GN120220509_pu",
+                "GN2v00_pb",
+                "GN2v00_pc",
+                "GN2v00_pu",
+                "GN2v01_pb",
+                "GN2v01_pc",
+                "GN2v01_pu",
+                "GN2v01_ptau",
+                "GN2NoAux_pb",
+                "GN2NoAux_pc",
+                "GN2NoAux_pu",
+                "GN2NoAux_ptau"
+            ]
+        }
+    },
+    "tracks": [
+        {
+            "n_to_save": 40,
+            "selection": {
+                "file": "fragments/r22default-track-cuts.json"
+            },
+            "sort_order": "d0_significance",
+            "input_name": "GhostTrack",
+            "output_name": "tracks",
+            "variables": {
+                "file": "fragments/pflow-track-variables-all.json",
+                "chars": [
+                    "GN2v01_aux_TrackOrigin",
+                    "GN2v01_aux_VertexIndex"
+                ]
+            },
+            "ip_prefix": "btagIp_"
+        },
+        {
+            "n_to_save": 40,
+            "selection": {
+                "file": "fragments/r22loose-track-cuts.json"
+            },
+            "sort_order": "d0_significance",
+            "input_name": "GhostTrack",
+            "output_name": "tracks_loose",
+            "variables": {
+                "file": "fragments/pflow-track-variables-all.json",
+                "chars": [
+                    "GN2v01_aux_TrackOrigin",
+                    "GN2v01_aux_VertexIndex"
+                ]
+            },
+            "ip_prefix": "btagIp_"
+        }
+    ],
+    "flow": [
+        {
+            "type": "flow",
+            "output_name": "flow",
+            "n_to_save": 40,
+            "accessor": "constituentLinks",
+            "variables": {
+                "customs": [
+                    "flow_pt",
+                    "flow_energy",
+                    "flow_deta",
+                    "flow_dphi",
+                    "flow_dr"
+                ]
+            },
+            "edm_names": {
+                "flow_pt": "pt",
+                "flow_energy": "energy",
+                "flow_deta": "deta",
+                "flow_dphi": "dphi",
+                "flow_dr": "dr"
+            }
+        },
+        {
+            "type": "flow",
+            "output_name": "neutral",
+            "n_to_save": 40,
+            "accessor": "neutralConstituentLinks",
+            "variables": {
+                "customs": [
+                    "flow_pt",
+                    "flow_energy",
+                    "flow_deta",
+                    "flow_dphi",
+                    "flow_dr"
+                ]
+            },
+            "edm_names": {
+                "flow_pt": "pt",
+                "flow_energy": "energy",
+                "flow_deta": "deta",
+                "flow_dphi": "dphi",
+                "flow_dr": "dr"
+            }
+        },
+        {
+            "type": "flow",
+            "output_name": "charged",
+            "n_to_save": 40,
+            "accessor": "chargedConstituentLinks",
+            "variables": {
+                "customs": [
+                    "flow_pt",
+                    "flow_energy",
+                    "flow_deta",
+                    "flow_dphi",
+                    "flow_dr"
+                ]
+            },
+            "edm_names": {
+                "flow_pt": "pt",
+                "flow_energy": "energy",
+                "flow_deta": "deta",
+                "flow_dphi": "dphi",
+                "flow_dr": "dr"
+            },
+            "associations": {
+                "track": {
+                    "variables": {
+                        "file": "fragments/pflow-track-variables.json",
+                        "ints": [
+                            "ftagTruthOriginLabel",
+                            "ftagTruthTypeLabel",
+                            "ftagTruthVertexIndex"
+                        ],
+                        "chars": [
+                            "leptonID"
+                        ]
+                    },
+                    "edm_names": {
+                        "ip_prefix": "btagIp_"
+                    }
+                }
+            }
+        }],
+    "ca_blocks": [
+        {
+            "block": "GNNAuxTaskMapper",
+            "btagging_container": "BTagging_AntiKt4EMPFlow",
+            "track_container": "InDetTrackParticles",
+            "track_links": "GN2v01_TrackLinks",
+            "track_aux_tasks": {
+                "GN2v01_VertexIndex": "GN2v01_aux_VertexIndex",
+                "GN2v01_TrackOrigin": "GN2v01_aux_TrackOrigin"
+            }
+        },
+        {
+            "block": "MultifoldTagger",
+            "nn_paths": [
+                "dev/BTagging/20240408/GN2v01NoAux/antikt4empflow/network_fold0.onnx",
+                "dev/BTagging/20240408/GN2v01NoAux/antikt4empflow/network_fold1.onnx",
+                "dev/BTagging/20240408/GN2v01NoAux/antikt4empflow/network_fold2.onnx",
+                "dev/BTagging/20240408/GN2v01NoAux/antikt4empflow/network_fold3.onnx"
+            ]
+        },
+        {
+            "block":"TrackFlowOverlapRemoval",
+            "jet_collection":"AntiKt4EMPFlowJets",
+            "track_container":"GhostTrack"
+        },
+        {
+            "block":"FlowSelector",
+            "jet_collection":"AntiKt4EMPFlowJets"
+        }
+    ]
+}