diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Node/Node.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Node/Node.java
similarity index 96%
rename from WatcherGui/src/main/java/com/joelhelkala/watcherGui/Node/Node.java
rename to WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Node/Node.java
index deb4cd68a676c12c7742b030ba7e9cd439163c14..4f322f8133c189dc9a49bd7eb3c755fb929b1bf5 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Node/Node.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Node/Node.java
@@ -1,4 +1,4 @@
-package com.joelhelkala.watcherGui.Node;
+package com.joelhelkala.watcherGui.Nodes.Node;
 
 import java.awt.LayoutManager;
 import java.time.LocalDateTime;
@@ -8,7 +8,7 @@ import java.util.List;
 import org.json.JSONArray;
 import org.json.JSONObject;
 
-import com.joelhelkala.watcherGui.Node.NodeData.NodeData;
+import com.joelhelkala.watcherGui.Nodes.Node.NodeData.NodeData;
 
 public class Node {
 	private String description;
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Node/NodeData/NodeData.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Node/NodeData/NodeData.java
similarity index 93%
rename from WatcherGui/src/main/java/com/joelhelkala/watcherGui/Node/NodeData/NodeData.java
rename to WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Node/NodeData/NodeData.java
index 7a9cde0b90259c900db78cd0cd72c148c574ac6c..9847fadac4e88b6053f7cf4e02f10f3b5d336297 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Node/NodeData/NodeData.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Node/NodeData/NodeData.java
@@ -1,4 +1,4 @@
-package com.joelhelkala.watcherGui.Node.NodeData;
+package com.joelhelkala.watcherGui.Nodes.Node.NodeData;
 
 import java.time.LocalDateTime;
 
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Nodes.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Nodes.java
new file mode 100644
index 0000000000000000000000000000000000000000..9b50256f814dd0c2b1eb635461c7b44868934da2
--- /dev/null
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/Nodes/Nodes.java
@@ -0,0 +1,37 @@
+package com.joelhelkala.watcherGui.Nodes;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.joelhelkala.watcherGui.Nodes.Node.Node;
+
+public class Nodes {
+	private static List<Node> nodes = new ArrayList<Node>();
+	
+	// Add a list of nodes 
+	public static void AddNodes(List<Node> list) {
+		for(Node n : list) {
+			AddNode(n);
+		}
+	}
+	
+	// Add a node to nodes list
+	public static void AddNode(Node node) {
+		nodes.add(node);
+	}
+	
+	public static int size() {
+		return nodes.size();
+	}
+	
+	public static Node get(int index) {
+		return nodes.get(index);
+	}
+
+	public static Node findByLocation(String location) {
+		for(Node n : nodes) {
+			if(n.getLocation() == location) return n;
+		}
+		return null;
+	}
+}
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/WelcomePage.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/WelcomePage.java
index b2a9071b2dd81fb82a1b46d7f8fe771d793c61ff..8a25eefac102e767d9f1422a279d37efdef90576 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/WelcomePage.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/WelcomePage.java
@@ -11,7 +11,8 @@ import java.awt.event.MouseListener;
 import java.util.HashMap;
 import java.util.Map;
 
-import com.joelhelkala.watcherGui.Node.Node;
+import com.joelhelkala.watcherGui.Nodes.Nodes;
+import com.joelhelkala.watcherGui.Nodes.Node.Node;
 import com.joelhelkala.watcherGui.User.User;
 import com.joelhelkala.watcherGui.frames.panels.LineChartPanel;
 import com.joelhelkala.watcherGui.frames.panels.ProgressBarCirclePanel;
@@ -51,13 +52,12 @@ public class WelcomePage implements MouseListener, ActionListener {
 	private final JFrame frame;
 	
 	private static JLabel chosen_label;
-	private static Node nodes[];
 	
 	private static NodeDataFrame nodeDataFrame = new NodeDataFrame(leftPanelWidth, topPanelHeight, width-leftPanelWidth, height-topPanelHeight-bottomPanelHeight);
 	private static NodeSettingsFrame nodeSettingFrame = new NodeSettingsFrame(leftPanelWidth, topPanelHeight, width-leftPanelWidth, height-topPanelHeight-bottomPanelHeight);
 	
 	public WelcomePage(){
-		nodes = HttpRequests.getNodes();
+		Nodes.AddNodes(HttpRequests.getNodes());
 		
 		frame = new JFrame();
 		frame.getContentPane().setBackground( Color.MAGENTA );
@@ -73,8 +73,8 @@ public class WelcomePage implements MouseListener, ActionListener {
 		topPanel.setLayout(null);
 		frame.getContentPane().add(topPanel);
 		
-		for(int i = 0; i < nodes.length; i++) {
-			comboBox.addItem(nodes[i].getLocation());			
+		for(int i = 0; i < Nodes.size(); i++) {
+			comboBox.addItem(Nodes.get(i).getLocation());			
 		}
 		
 		comboBox.addActionListener(this);
@@ -291,13 +291,7 @@ public class WelcomePage implements MouseListener, ActionListener {
 	@Override
 	public void actionPerformed(java.awt.event.ActionEvent e) {
 		String node_name = ((JComboBox)e.getSource()).getSelectedItem().toString();
-		Node node = null;
-		for(Node n : nodes) {
-			if(n.getLocation() == node_name) {
-				node = n;
-				break;
-			}
-		}
+		Node node = Nodes.findByLocation(node_name);
 		
 		if(node == null) return;
 		
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/panels/LineChartPanel.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/panels/LineChartPanel.java
index 3ee1dac378023425de106ad12481c4eff4480bb3..5775cc2027346bdcc19e935256f3f17a2d8b6a28 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/panels/LineChartPanel.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/panels/LineChartPanel.java
@@ -11,7 +11,7 @@ import org.jfree.chart.plot.CategoryPlot;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.data.category.DefaultCategoryDataset;
 
-import com.joelhelkala.watcherGui.Node.NodeData.NodeData;
+import com.joelhelkala.watcherGui.Nodes.Node.NodeData.NodeData;
 
 import java.awt.BorderLayout;
 import java.util.List;
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeDataFrame.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeDataFrame.java
index e431d7a6c9d8c7ff8be43a1920c7ef0787708f40..7bbbce7d9d125ed684bd4ee6b69bb78a2eae0720 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeDataFrame.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeDataFrame.java
@@ -4,7 +4,7 @@ import java.awt.Color;
 
 import javax.swing.JPanel;
 
-import com.joelhelkala.watcherGui.Node.Node;
+import com.joelhelkala.watcherGui.Nodes.Node.Node;
 import com.joelhelkala.watcherGui.frames.panels.HumidityPanel;
 import com.joelhelkala.watcherGui.frames.panels.LineChartPanel;
 import com.joelhelkala.watcherGui.frames.panels.LuminosityPanel;
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeSettingsFrame.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeSettingsFrame.java
index d510bf4c8693d44c96486a0e110f5e6d068027db..5ad79be50d61f274c4ac824ff9bb0837b27a43c7 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeSettingsFrame.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/frames/subframes/NodeSettingsFrame.java
@@ -2,23 +2,43 @@ package com.joelhelkala.watcherGui.frames.subframes;
 
 import java.awt.Color;
 
-import javax.swing.JLabel;
+import javax.swing.JButton;
 import javax.swing.JPanel;
-import javax.swing.SwingConstants;
+import javax.swing.JSplitPane;
 
+import java.awt.GridLayout;
 import java.awt.BorderLayout;
 
 public class NodeSettingsFrame extends JPanel {
 	private static final Color gray = new Color(45, 45, 45);
 	
+	
 	public NodeSettingsFrame(int x, int y, int width, int height) {
+		setLayout(new BorderLayout());
 		setBounds(0,0,width,height);
 		setOpaque(true);
 		setBackground(gray);
-		setLayout(new BorderLayout());
-		JLabel title = new JLabel("Node Settings");
-		title.setForeground(Color.white);
-		title.setHorizontalAlignment(SwingConstants.CENTER);
-		add(title, BorderLayout.NORTH);
+		
+		JPanel grid = new JPanel();
+		grid.setLayout(new GridLayout(2,2));
+		
+		JPanel descPanel = new JPanel();
+		JPanel locationPanel = new JPanel();
+		JPanel longPanel = new JPanel();
+		JPanel latPanel = new JPanel();
+		
+		JButton reset_btn = new JButton("Reset"); 
+		JButton save_btn = new JButton("Save");
+		
+		grid.add(descPanel);
+		grid.add(locationPanel);
+		grid.add(latPanel);
+		grid.add(longPanel);
+		
+		add(grid, BorderLayout.CENTER);
+		
+		JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, reset_btn, save_btn);
+		add(split, BorderLayout.SOUTH);
+		
 	}
 }
\ No newline at end of file
diff --git a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/httpRequests/HttpRequests.java b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/httpRequests/HttpRequests.java
index 282a00df723974ce44b48cafef0ffa6393e3513e..7f271b800af4dbcb5f9d0da4d277e4d3329daeef 100644
--- a/WatcherGui/src/main/java/com/joelhelkala/watcherGui/httpRequests/HttpRequests.java
+++ b/WatcherGui/src/main/java/com/joelhelkala/watcherGui/httpRequests/HttpRequests.java
@@ -9,14 +9,16 @@ import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
-import com.joelhelkala.watcherGui.Node.Node;
+import com.joelhelkala.watcherGui.Nodes.Node.Node;
 import com.joelhelkala.watcherGui.User.User;
 
 /*
@@ -179,10 +181,10 @@ public class HttpRequests {
 	/*
 	 * Gets all the nodes available from the server
 	 */
-	public static Node[] getNodes() {
+	public static List<Node> getNodes() {
 		JSONArray data = basicGetRequest("/node");
 		int nodes_amount = data.length();
-		Node nodes[] = new Node[nodes_amount];
+		List<Node> nodes = new ArrayList<Node>(nodes_amount);
 		
 		for(int i = 0; i < nodes_amount; i++) {
 			JSONObject obj = data.getJSONObject(i);
@@ -191,7 +193,7 @@ public class HttpRequests {
 			Float latitude = obj.getFloat("latitude");
 			Float longitude = obj.getFloat("longitude");
 			Integer id = obj.getInt("id");
-			nodes[i] = new Node(description, latitude, longitude, location, id);
+			nodes.add(new Node(description, latitude, longitude, location, id));
 		}
 		return nodes;
 	}