diff --git a/go.mod b/go.mod
index 83bdda5247a9da4d6d0e8ca3bdf3405a6548fe84..0b1f55e51191de47e568e0c5d38f21637da04ee7 100644
--- a/go.mod
+++ b/go.mod
@@ -1,3 +1,5 @@
 module freenet
 
 go 1.19
+
+require gopkg.in/yaml.v2 v2.4.0
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000000000000000000000000000000000000..dd0bc19f1fe3e536098c0fd769c96042bf9ebc73
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,4 @@
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
diff --git a/helper/types.go b/helper/types.go
index 1b905cbc111894d5425909f53c24ac7efacf7417..1a44181c979d62a52e29d5a3230f184a3012d8f1 100644
--- a/helper/types.go
+++ b/helper/types.go
@@ -1,11 +1,8 @@
 package helper
 
-import "fmt"
-
-type NodeWrapper struct {
-	Resource Resource `yaml:"resource"`
-	Stora0lwe
-}
+import (
+	"fmt"
+)
 
 type Node struct {
 	Resource Resource `json:"resource"`
diff --git a/server/neighbour-2.yaml b/server/neighbour-2.yaml
index aab840bbf16e81d0e9be70ca434714ed5352bd3c..27892801e0527ab7d7a3882dff01572a8aed629b 100644
--- a/server/neighbour-2.yaml
+++ b/server/neighbour-2.yaml
@@ -1,11 +1,13 @@
-name: "b"
-address: "127.0.0.11"
+resource:
+  name: "b"
+  address: "127.0.0.11"
 storage:
-  - id: 10
-    resource:
-      name: "b"
-      address: "127.0.0.11"
-  - id: 15
-    resource:
-      name: "c"
-      address: "127.0.0.12"
\ No newline at end of file
+  data:
+    - id: 10
+      resource:
+        name: "b"
+        address: "127.0.0.11"
+    - id: 15
+      resource:
+        name: "c"
+        address: "127.0.0.12"
\ No newline at end of file
diff --git a/server/neighbour-3.yaml b/server/neighbour-3.yaml
index 41426a5a26a92f0e08506c7282a1d04bba63c472..06a0de56a4a0e7fad586dd47e93a76dc2c9d9133 100644
--- a/server/neighbour-3.yaml
+++ b/server/neighbour-3.yaml
@@ -1,11 +1,13 @@
-name: "c"
-address: "127.0.0.12"
+resource:
+  name: "c"
+  address: "127.0.0.12"
 storage:
-  - id: 15
-    resource:
-      name: "c"
-      address: "127.0.0.12"
-  - id: 50
-    resource:
-      name: "a"
-      address: "127.0.0.10"
\ No newline at end of file
+  data:
+    - id: 15
+      resource:
+        name: "c"
+        address: "127.0.0.12"
+    - id: 50
+      resource:
+        name: "a"
+        address: "127.0.0.10"
\ No newline at end of file
diff --git a/server/server b/server/server
index 40dcd61d5d055bb3056bdaf34a758835c51f02bc..1c4e7b85cb37d691d28674e4e669db9f6aa83b05 100755
Binary files a/server/server and b/server/server differ
diff --git a/server/server.go b/server/server.go
index 2503233edb645d75bfad9d97c10103dc3351235e..3eb702f8179e7838a6412ddb6b82749df9b97169 100644
--- a/server/server.go
+++ b/server/server.go
@@ -3,25 +3,42 @@ package main
 import (
 	"fmt"
 	"freenet/helper"
+	"gopkg.in/yaml.v2"
+	"os"
 )
 
+var node helper.Node
+
 func main() {
 	//read arguments passed to the program
 	//./server <port> <config_number> <mode>
 	// port is the port the server will listen on
 	// config_number represents de number of the neighbour-x.yaml file to load
 	// mode is INIT or WAIT (INIT for the server that will run the search, WAIT for the servers that will listen)
+	args := os.Args
+	configFile := fmt.Sprintf("neighbour-%s.yaml", args[1])
+	node = parseConfigFile(configFile)
+	fmt.Printf("Node{%s}", node)
 
 	//initialize socket connection
 	//if INIT
 	//run the search algorithm and send message to the servers
 	//if WAIT
 	//wait and listen for new connections
+	//debugTypesPrint()
+}
 
-	debugTypesPrint()
+func parseConfigFile(file string) helper.Node {
+	var node helper.Node
+	yamlFile, err := os.ReadFile(file)
+	if err != nil {
+		panic(err)
+	}
+	err = yaml.Unmarshal(yamlFile, &node)
+	return node
 }
 
-func parseNodeConfig() {
+func usage() {
 
 }