diff --git a/access_node/__main__.py b/access_node/__main__.py
index 6ef62f111fcb33f977b0295a6fee81f9cc47c621..4336dd4c8fa02907a49eede1bdec67672149b3d3 100644
--- a/access_node/__main__.py
+++ b/access_node/__main__.py
@@ -18,22 +18,28 @@ def SetupDB(postgres_username, postgres_password, port):
 	print("Database connection opened successfully!")
 
 	cur = con.cursor()
-	cur.execute('''CREATE TABLE IF NOT EXISTS SIMULATION_NODES (
+	cur.execute("DROP TABLE IF EXISTS SIMULATION_NODES CASCADE")
+	cur.execute("DROP TABLE IF EXISTS MULTIMETERS CASCADE")
+	cur.execute("DROP TABLE IF EXISTS GIDS CASCADE")
+	cur.execute("DROP TABLE IF EXISTS MULT_PER_GID CASCADE")
+
+
+	cur.execute('''CREATE TABLE SIMULATION_NODES (
       NODE_ID           INT       PRIMARY KEY NOT NULL UNIQUE,
       ADDRESS           VARCHAR(25),
       CURRENT_SIM_TIME  FLOAT);''')
 
-	cur.execute('''CREATE TABLE IF NOT EXISTS MULTIMETERS (
+	cur.execute('''CREATE TABLE MULTIMETERS (
       MULTIMETER_ID   INT PRIMARY KEY NOT NULL UNIQUE,
       ATTRIBUTE       CHAR(50) );''')
 
-	cur.execute('''CREATE TABLE IF NOT EXISTS GIDS (
+	cur.execute('''CREATE TABLE GIDS (
       GID             INT PRIMARY KEY NOT NULL UNIQUE,
       NODE_ID         INT,  
       POPULATION_ID   INT,
       FOREIGN KEY (NODE_ID) REFERENCES SIMULATION_NODES (NODE_ID));''')
 
-	cur.execute('''CREATE TABLE IF NOT EXISTS MULT_PER_GID(
+	cur.execute('''CREATE TABLE MULT_PER_GID(
       GID             INT NOT NULL,
       MULTIMETER_ID   INT NOT NULL,
       PRIMARY KEY (GID,MULTIMETER_ID),
diff --git a/access_node/controllers/nest_controller.py b/access_node/controllers/nest_controller.py
index 8c5affe6d18163dc457c81e668f6e5b6cab715ac..53600ab5df89e85da9723e4badb282b416d83f96 100644
--- a/access_node/controllers/nest_controller.py
+++ b/access_node/controllers/nest_controller.py
@@ -10,6 +10,8 @@ from access_node import util
 
 from access_node.models.nodes import nodes
 import requests
+import psycopg2
+import numpy as np
 
 def nest_get_gids():  # noqa: E501
     """Retrieves the list of all GID.
@@ -19,7 +21,13 @@ def nest_get_gids():  # noqa: E501
 
     :rtype: List[int]
     """
-    gids = requests.get(nodes.info_node+'/nest/gids').json()
+    con = psycopg2.connect(database="postgres", user="postgres",
+                       password="docker", host="database", port="5432")
+    
+    cur = con.cursor()
+    cur.execute("SELECT GID FROM GIDS")
+    gids = [i[0] for i in cur.fetchall()]
+    con.close()
     return gids
 
 
@@ -33,8 +41,13 @@ def nest_get_gids_in_population(population_id):  # noqa: E501
 
     :rtype: List[int]
     """
-    gids = requests.get(nodes.info_node+'/nest/population/$' +
-                        str(population_id)+'/gids').json()
+    con = psycopg2.connect(database="postgres", user="postgres",
+                       password="docker", host="database", port="5432")
+    
+    cur = con.cursor()
+    cur.execute("SELECT GID FROM GIDS WHERE GIDS.POPULATION_ID ="+str(population_id))
+    gids = [i[0] for i in cur.fetchall()]
+    con.close()
     return gids
 
 
@@ -46,8 +59,24 @@ def nest_get_multimeter_info():  # noqa: E501
 
     :rtype: MultimeterInfo
     """
-    multimeter_info = requests.get(nodes.info_node+'/nest/multimeter_info').json()
-    return multimeter_info
+    con = psycopg2.connect(database="postgres", user="postgres",
+                       password="docker", host="database", port="5432")
+    cur = con.cursor()
+    cur.execute("SELECT MULTIMETER_ID FROM MULTIMETERS")
+    ids = cur.fetchall()
+    cur.execute("SELECT regexp_replace(ATTRIBUTE, '\s+$', '') FROM (SELECT * FROM MULTIMETERS) AS MULT_INFO;")
+    attributes = cur.fetchall()
+    mult_info = np.hstack((ids, attributes)).tolist()
+    gids = []
+    for id in ids:
+        cur.execute("SELECT GID FROM MULT_PER_GID WHERE MULTIMETER_ID = %s", (id,))
+        gids.append([i[0] for i in cur.fetchall()])
+
+    for i in range(len(gids)):
+        mult_info[i].append(gids[i])
+
+    con.close()
+    return mult_info.tolist()
 
 
 def nest_get_multimeter_measurements(multimeter_id, attribute, _from=None, to=None, gids=None, offset=None, limit=None):  # noqa: E501
@@ -134,8 +163,16 @@ def nest_get_neuron_properties(gids=None):  # noqa: E501
 
     :rtype: List[NestNeuronProperties]
     """
-    properties = requests.get(nodes.info_node+'/nest/neuron_properties').json()
-    return properties
+    con = psycopg2.connect(database="postgres", user="postgres",
+                       password="docker", host="database", port="5432")
+    
+    cur = con.cursor()
+    # TODO HANDLE gids=None
+
+
+
+    con.close()
+    return "Not Implemented yet"
 
 
 def nest_get_populations():  # noqa: E501
@@ -146,7 +183,12 @@ def nest_get_populations():  # noqa: E501
 
     :rtype: List[int]
     """
-    populations = requests.get(nodes.info_node+'/nest/populations').json()
+    con = psycopg2.connect(database="postgres", user="postgres",
+                       password="docker", host="database", port="5432")
+    
+    cur = con.cursor()
+    cur.execute("SELECT DISTINCT (POPULATION_ID) FROM GIDS")
+    populations = populations = [i[0] for i in cur.fetchall()]
     return populations
 
 
@@ -158,8 +200,13 @@ def nest_get_simulation_time_info():  # noqa: E501
 
     :rtype: SimulationTimeInfo
     """
-    time_info = requests.get(nodes.info_node+'/nest/simulation_time_info').json()
-    return time_info
+    con = psycopg2.connect(database="postgres", user="postgres",
+                       password="docker", host="database", port="5432")
+    
+    cur = con.cursor()
+    cur.execute("SELECT MAX(CURRENT_SIM_TIME) FROM SIMULATION_NODES")
+    time = cur.fetchall()[0][0]
+    return time
 
 
 def nest_get_spikes(_from=None, to=None, gids=None, offset=None, limit=None):  # noqa: E501
diff --git a/requirements.txt b/requirements.txt
index 8fefc1e32b863a6d1d28e79e259d339cc36b014d..76172a29d0dc257df30e3c662f78d10acbee6092 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,4 +3,5 @@ python_dateutil == 2.6.0
 setuptools >= 21.0.0
 requests
 flask_cors
-psycopg2-binary
\ No newline at end of file
+psycopg2-binary
+numpy
\ No newline at end of file