diff --git a/local/client/client.go b/local/client/client.go
index 61ec8ef1be4a1aacdd44762020986c15c57609ca..52ed843c6c0baa71ea4d51b0e8bfb3399781d0a6 100644
--- a/local/client/client.go
+++ b/local/client/client.go
@@ -3,7 +3,7 @@ package main
 import (
 	"encoding/json"
 	"fmt"
-	types "local/types"
+	types "local/helper"
 	"net"
 	"os"
 	"strconv"
diff --git a/local/helper/azure_handler.go b/local/helper/azure_handler.go
new file mode 100644
index 0000000000000000000000000000000000000000..e579c6bfe88bf98aae4dd414766093c08d27bc80
--- /dev/null
+++ b/local/helper/azure_handler.go
@@ -0,0 +1,88 @@
+package helper
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
+	dotenv "github.com/joho/godotenv"
+	"io"
+	"os"
+)
+
+var client *azblob.Client
+var err error
+var ctx context.Context
+
+// test program for the object storage module
+func main() {
+	err := dotenv.Load() //load .env file
+	if err != nil {
+		panic(err)
+	}
+	var connectionString = os.Getenv("AZ_STORAGE_CONNECTION_STRING")
+	var containerName = ""
+
+	ConnectToStorage(connectionString)
+	ListBlobsOnContainer(containerName, nil)
+
+	data := ReadFromStorage(containerName, "test.json")
+	var transactions []Transaction
+	err = json.Unmarshal(data, &transactions)
+	if err != nil {
+		panic(err)
+	}
+	fmt.Printf("%s\n", transactions)
+}
+
+func ConnectToStorage(connectionString string) {
+	client, err = azblob.NewClientFromConnectionString(connectionString, nil)
+	if err != nil {
+		panic(err)
+	}
+	ctx = context.Background()
+}
+
+func ListBlobsOnContainer(containerName string, options *azblob.ListBlobsFlatOptions) {
+	fmt.Printf("Listing blobs on container [%s] ...\n", containerName)
+	pager := client.NewListBlobsFlatPager(containerName, options)
+	for pager.More() {
+		resp, err := pager.NextPage(ctx)
+		if err != nil {
+			panic(err)
+		}
+		for _, _blob := range resp.Segment.BlobItems {
+			fmt.Printf("%s\n", *_blob.Name)
+		}
+	}
+}
+
+func ReadFromStorage(containerName string, blobName string) []byte {
+	resp, err := client.DownloadStream(ctx, containerName, blobName, nil)
+	if err != nil {
+		panic(err)
+	}
+	blobData, err := io.ReadAll(resp.Body)
+	if err != nil {
+		panic(err)
+	}
+	return blobData
+}
+
+func WriteToStorage() {
+	//TODO: Implements
+
+}
+
+/*
+jsonString must be formatted like that :
+[{},{},{}] with each object inside the array having the properties as named on the Transaction type of the types.go file
+*/
+func JsonDataToTransactions(jsonString []byte) []Transaction {
+	var transactions []Transaction
+	err = json.Unmarshal(jsonString, &transactions)
+	if err != nil {
+		panic(err)
+	}
+	return transactions
+}
diff --git a/local/types/types.go b/local/helper/types.go
similarity index 98%
rename from local/types/types.go
rename to local/helper/types.go
index f615232c26f1327d6f9f70577325538cee6c76fc..ecc92d7ed14dc7ccd0349c7c03d66cc4d51dd6d7 100644
--- a/local/types/types.go
+++ b/local/helper/types.go
@@ -1,4 +1,4 @@
-package types
+package helper
 
 import "fmt"
 
diff --git a/local/server/azure_handler.go b/local/server/azure_handler.go
deleted file mode 100644
index 1b47a152276b3c3902544e7ed5d412d9ab137892..0000000000000000000000000000000000000000
--- a/local/server/azure_handler.go
+++ /dev/null
@@ -1,23 +0,0 @@
-package main
-
-import (
-	azblob "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
-)
-
-var client *azblob.Client
-var err error
-
-func connectToStorage(connectionString string) {
-	client, err = azblob.NewClientFromConnectionString(connectionString, nil)
-	if err != nil {
-		panic(err)
-	}
-}
-
-func readFromStorage() {
-	//TODO: Implements
-}
-
-func writeToStorage() {
-	//TODO: Implements
-}
diff --git a/local/server/server b/local/server/server
index 01732317ff6d08d160ce5af4ac8a8fd228ca3146..25ed6495d57d4b136f22180d8b68eec849929d32 100755
Binary files a/local/server/server and b/local/server/server differ
diff --git a/local/server/server.go b/local/server/server.go
index e827247a8c864435159dcd624534df3f35f5c3c7..dde5c33235489a5c6f88fd4dcb2baa3224f494e2 100644
--- a/local/server/server.go
+++ b/local/server/server.go
@@ -3,23 +3,24 @@ package main
 import (
 	"encoding/json"
 	"fmt"
+	dotenv "github.com/joho/godotenv"
 	"gopkg.in/yaml.v2"
-	types "local/types"
+	helper "local/helper"
 	"net"
 	"os"
 )
 
 type Config struct {
-	Id         int          `yaml:"id"`
-	Address    string       `yaml:"address"`
-	Neighbours []types.Node `yaml:"neighbours"`
+	Id         int           `yaml:"id"`
+	Address    string        `yaml:"address"`
+	Neighbours []helper.Node `yaml:"neighbours"`
 }
 
-var transactions []types.Transaction
+var transactions []helper.Transaction
 
 var config Config
 
-var node types.CurrentNode
+var node helper.CurrentNode
 
 const (
 	ServerPort = "8017"
@@ -30,10 +31,14 @@ var server net.Listener
 var proactive string
 
 func main() {
+	dotenv.Load()
+
 	args := os.Args
 	yaml := fmt.Sprintf("../neighbour-%s.yaml", args[1])
 	config := parseYAML(yaml)
 	initNodeFromConfig(config)
+	connectionString := os.Getenv("AZ_STORAGE_CONNECTION_STRING")
+	helper.ConnectToStorage(connectionString)
 
 	fmt.Printf("Loaded yaml file: %s\n", yaml)
 
@@ -59,7 +64,7 @@ func main() {
 }
 
 func initNodeFromConfig(config Config) {
-	node = types.CurrentNode{
+	node = helper.CurrentNode{
 		Address:      config.Address,
 		Neighbours:   config.Neighbours,
 		Reached:      false,
@@ -77,7 +82,7 @@ func processClient(connection net.Conn) {
 		fmt.Println("Error reading:", err.Error())
 	}
 
-	var m types.Message
+	var m helper.Message
 	err = json.Unmarshal(buffer[:mlen], &m)
 	if err != nil {
 		panic(err)
@@ -86,10 +91,10 @@ func processClient(connection net.Conn) {
 	fmt.Printf("%s\n", m.String())
 
 	switch m.Action {
-	case types.MCreateTransaction:
+	case helper.MCreateTransaction:
 		createTransaction(connection, m.Transaction)
 		break
-	case types.MListTransactions:
+	case helper.MListTransactions:
 		listTransactions(connection)
 		break
 	default:
@@ -113,7 +118,7 @@ func parseYAML(file string) Config {
 	return config
 }
 
-func createTransaction(connection net.Conn, t types.Transaction) {
+func createTransaction(connection net.Conn, t helper.Transaction) {
 	if !isTransactionKnown(t) {
 		transactions = append(transactions, t)
 		broadcastTransaction(connection, t)
@@ -121,8 +126,8 @@ func createTransaction(connection net.Conn, t types.Transaction) {
 }
 
 func listTransactions(connection net.Conn) {
-	m := types.Message{
-		Action:       types.MListTransactions,
+	m := helper.Message{
+		Action:       helper.MListTransactions,
 		Proactive:    proactive,
 		Transactions: transactions,
 	}
@@ -135,7 +140,7 @@ func listTransactions(connection net.Conn) {
 	defer connection.Close()
 }
 
-func broadcastTransaction(connection net.Conn, t types.Transaction) {
+func broadcastTransaction(connection net.Conn, t helper.Transaction) {
 	fmt.Printf("Starting transaction broadcast\n")
 
 	sendTransactionToNeighbours(t)
@@ -145,21 +150,21 @@ func broadcastTransaction(connection net.Conn, t types.Transaction) {
 
 }
 
-func sendTransactionToNeighbours(t types.Transaction) {
+func sendTransactionToNeighbours(t helper.Transaction) {
 	for _, n := range node.Neighbours {
 		sendTransactionToServer(t, n.Address)
 	}
 }
 
-func sendTransactionToServer(t types.Transaction, address string) {
+func sendTransactionToServer(t helper.Transaction, address string) {
 	fmt.Printf("Sending transaction %s to server [%s]\n", t.String(), address)
 	connection, err := net.Dial(ServerType, fmt.Sprintf("%s:%s", address, ServerPort))
 	if err != nil {
 		panic(err)
 	}
 
-	m := types.Message{
-		Action:      types.MCreateTransaction,
+	m := helper.Message{
+		Action:      helper.MCreateTransaction,
 		Transaction: t,
 		Proactive:   proactive,
 	}
@@ -172,7 +177,7 @@ func sendTransactionToServer(t types.Transaction, address string) {
 
 }
 
-func isTransactionKnown(t types.Transaction) bool {
+func isTransactionKnown(t helper.Transaction) bool {
 	for _, transaction := range transactions {
 		if transaction.Id == t.Id {
 			fmt.Printf("Transaction already exists\n")
diff --git a/local/server/test.json b/local/server/test.json
new file mode 100644
index 0000000000000000000000000000000000000000..928198104245dc2934591a4f28edd762155a7553
--- /dev/null
+++ b/local/server/test.json
@@ -0,0 +1,16 @@
+{
+    "transactions": [
+        {
+            "id": 1,
+            "from": "Peiry",
+            "to": "Troller",
+            "amount": 6000
+        },
+        {
+            "id": 2,
+            "from": "Birner",
+            "to": "Peiry",
+            "amount": 2000
+        }
+    ]
+}
\ No newline at end of file