diff --git a/src/app/config.ts b/src/app/config.ts
index ead040c5b92c3de00de30da88495a76caf879562..2abf461d7dbbad33f24396e7ca949de52ae1e3ac 100644
--- a/src/app/config.ts
+++ b/src/app/config.ts
@@ -56,6 +56,7 @@ export interface IConfig {
   edgeGroups: { [key: string]: EdgeGroup };
   interactionDrugProtein: InteractionDrugProteinDB;
   interactionProteinProtein: InteractionProteinProteinDB;
+  autofillEdges: boolean;
   interactions?: InteractionDatabase;
   identifier?: Identifier;
   nodeShadow?: boolean;
@@ -93,6 +94,7 @@ export const defaultConfig: IConfig = {
   interactionProteinProtein: 'STRING',
   nodeShadow: true,
   edgeShadow: true,
+  autofillEdges: true,
   nodeGroups: {
     // all NodeGroups but the default group must be set, if not provided by the user, they will be taken from here
     // IMPORTANT: node color must be hexacode!
diff --git a/src/app/interfaces.ts b/src/app/interfaces.ts
index cab05e038dc8882bcd5d47fb10bb085379c7721c..2c467aad2383dc2c195ad2208f96b1d8ad692ed9 100644
--- a/src/app/interfaces.ts
+++ b/src/app/interfaces.ts
@@ -37,6 +37,11 @@ export type legendContext = 'explorer' | 'adjacentDrugs' | 'drug' | 'drugTarget'
 /// netexId to expressionlvl
 export type NodeAttributeMap = { string: number } | {};
 
+export interface NetexInteraction {
+  dataset: string;
+  proteinA: string;
+  proteinB: string;
+}
 
 export interface NodeInteraction {
   from: string;
diff --git a/src/app/main-network.ts b/src/app/main-network.ts
index 1abe89b4fa190d83f9bd247320df400dffef2caa..e2a992912fe8a3a3824d9ee20b321ac06b79aa6d 100644
--- a/src/app/main-network.ts
+++ b/src/app/main-network.ts
@@ -1,5 +1,5 @@
 import { defaultConfig, IConfig } from './config';
-import {NodeInteraction, Node, getProteinNodeId} from './interfaces';
+import {NodeInteraction, Node, getProteinNodeId, NetexInteraction} from './interfaces';
 import * as merge from 'lodash/fp/merge'; 
 
 export function getDatasetFilename(dataset: Array<[string, string]>): string {
@@ -117,3 +117,18 @@ export function mapCustomEdge(customEdge: NodeInteraction, config: IConfig): any
   };
   return edge;
 }
+
+/** Maps netex retrieved edge to network edge object
+ * Uses the default group for edge objects.
+ * 
+ * @param customEdge 
+ * @param config 
+ * @returns 
+ */
+ export function mapNetexEdge(customEdge: NetexInteraction, config: IConfig): any {
+  const edge = JSON.parse(JSON.stringify(config.edgeGroups.default));
+  edge['from'] = customEdge['proteinA'];
+  edge['to'] = customEdge['proteinB'];
+  edge['dataset'] = customEdge['dataset'];
+  return edge;
+}
diff --git a/src/app/pages/explorer-page/explorer-page.component.ts b/src/app/pages/explorer-page/explorer-page.component.ts
index fa2a95db649d6bce48a1950dd8b7504b86ad6bb1..7e7c2ef1826d7a97b38999ef3c766531a680e778 100644
--- a/src/app/pages/explorer-page/explorer-page.component.ts
+++ b/src/app/pages/explorer-page/explorer-page.component.ts
@@ -18,7 +18,7 @@ import {
   Tissue,
   Wrapper
 } from '../../interfaces';
-import {mapCustomEdge, mapCustomNode, ProteinNetwork} from '../../main-network';
+import {mapCustomEdge, mapCustomNode, mapNetexEdge, ProteinNetwork} from '../../main-network';
 import {AnalysisService} from '../../services/analysis/analysis.service';
 import {OmnipathControllerService} from '../../services/omnipath-controller/omnipath-controller.service';
 import domtoimage from 'dom-to-image';
@@ -369,10 +369,19 @@ export class ExplorerPageComponent implements OnInit, AfterViewInit {
     if (this.networkPositions) {
       this.proteinData.updateNodePositions(this.networkPositions)
     }
-    this.proteinData.linkNodes();
+    // TODO do we still need this?
+    // this.proteinData.linkNodes();
 
     const {nodes, edges} = this.proteinData.mapDataToNetworkInput(this.myConfig);
 
+    console.log('nodes', nodes)
+    console.log('edges', edges)
+    if (this.myConfig.autofillEdges && nodes.length) {
+      const netexEdges = await this.netex.fetchEdges(nodes, this.myConfig.interactionProteinProtein);
+      console.log(netexEdges.map(netexEdge => mapNetexEdge(netexEdge, this.myConfig)))
+      edges.push(...netexEdges.map(netexEdge => mapNetexEdge(netexEdge, this.myConfig)))
+    }
+
     this.nodeData.nodes = new vis.DataSet(nodes);
     this.nodeData.edges = new vis.DataSet(edges);
     const container = this.networkEl.nativeElement;
diff --git a/src/app/services/netex-controller/netex-controller.service.ts b/src/app/services/netex-controller/netex-controller.service.ts
index 4992123d0b3552774823b673c8fe0a54d8e5b1f7..bfc7e2859a2bf87c420662a717924f141fc610a4 100644
--- a/src/app/services/netex-controller/netex-controller.service.ts
+++ b/src/app/services/netex-controller/netex-controller.service.ts
@@ -4,7 +4,7 @@ import {HttpClient, HttpParams} from '@angular/common/http';
 import {AlgorithmType, QuickAlgorithmType} from '../analysis/analysis.service';
 import { Observable } from 'rxjs';
 import { Tissue, Node, EdgeType} from 'src/app/interfaces';
-import { InteractionDrugProteinDB } from 'src/app/config';
+import { InteractionDrugProteinDB, InteractionProteinProteinDB } from 'src/app/config';
 
 @Injectable({
   providedIn: 'root'
@@ -115,4 +115,13 @@ export class NetexControllerService {
      */
     return this.http.post(`${environment.backend}graph_export/`, graph_data, {responseType: 'text'});
   }
+
+  public async fetchEdges(nodes: Node[], dataset: InteractionProteinProteinDB): Promise<any> {
+    /**
+     * Tries to map every node to a node object in out database
+     * Returns list of mapped nodes if node was found, otherwise original node to not lose information
+     */
+    const payload = {nodes: nodes, dataset: dataset};
+    return this.http.post(`${environment.backend}fetch_edges/`, payload).toPromise();
+  }
 }
diff --git a/src/index.html b/src/index.html
index ea00bbd9cb619817a6e1a16507bce4a5d3e0bcb2..b7e2e5dd6f0f46146f612ccf5d3d1123a3de6a43 100644
--- a/src/index.html
+++ b/src/index.html
@@ -44,14 +44,13 @@
                       "identifier": "symbol",
                       "nodeShadow": true,
                       "edgeShadow": true,
-                      "interactionDrugProtein": "ChEMBL",
-                      "legendUrl": "https://exbio.wzw.tum.de/covex/assets/leg1.png"
+                      "interactionProteinProtein": "APID",
+                      "interactionDrugProtein": "ChEMBL"
                     }'
                     network='{
                       "nodes": [{"id": "TP53", "group": "0.5"}, {"id": "MYC", "group": "pugGroup"}, {"id": "Patient No. 5", "group": "patientgroup"}, {"label": "PTEN", "id": "PTEN", "group": 0.5, "value":"5"}],
                       "edges": [
-                      {"from": "TP53","to": "C5","group": "xxx", "label": "this is a label", "title": "this is a title"},
-                      {"from": "Patient No. 5","to": "C5","label": "w/o group"}
+                     
                       ]
                     }'
                     style="height: 100%; width: 100vw; display: block;"