diff --git a/Lab_3/Twidder/server.py b/Lab_3/Twidder/server.py
index 2a925c75710513d4bcdc3b88f6d3824a9ef382b8..c167af9baa4955f519dbb10c5baa3f4c427442fb 100644
--- a/Lab_3/Twidder/server.py
+++ b/Lab_3/Twidder/server.py
@@ -7,6 +7,8 @@ import database_helper
 #PUT for updating data, POST for adding new data
 #save token on client and server (lab 3)
 
+# source "/Users/lorenzo/OneDrive - Linköpings universitet/Skola/DI3B/TDDD97/virtualenv/bin/activate"
+# python3 server.py
 # http://127.0.0.1:5000/myServer'
 # sqlite3 database.db ".read schema.sql"
 
@@ -236,7 +238,6 @@ def get_user_messages_by_token():
     email = session[token]
     return get_user_messages_by_email(email)
 
-
 @app.route("/myServer/getMessagesByEmail/<req_email>", methods=['GET'])
 def get_user_messages_by_email(req_email):
     """Get user's message wall thought the email of the user"""
diff --git a/Lab_3/Twidder/static/client.js b/Lab_3/Twidder/static/client.js
index 103980459c111384131443e3820d56a932cec583..18db399d1c34aa88254c512fd389e074abf29af4 100644
--- a/Lab_3/Twidder/static/client.js
+++ b/Lab_3/Twidder/static/client.js
@@ -5,10 +5,22 @@ var welcomeDiv;
 var profileDiv;
 var url = 'http://127.0.0.1:5000/myServer/';
 
-
+// source "/Users/lorenzo/OneDrive - Linköpings universitet/Skola/DI3B/TDDD97/virtualenv/bin/activate"
 
 // - - - - - Init Request Objects - - - - - //
 
+//Todo (Lawrence)
+/*  
+    Sign up
+    change password
+    post message (+ updateWall)
+    get message by token (+ kommentera fram stycke i reloadWall)
+
+*/
+
+// Todo - implement
+// Sign Up Request Object
+
 // Sign In Request Object
 var signInRequest = new XMLHttpRequest();
 signInRequest.onreadystatechange = function() {
@@ -19,7 +31,6 @@ signInRequest.onreadystatechange = function() {
             errorMessage.innerHTML = "You are signed in"; 
             let token = this.getResponseHeader("Authorization")
             localStorage.setItem("currentUser", token);
-
             
             // Changes the view to profile view an loads user info
             displayView();
@@ -72,8 +83,44 @@ signOutRequest.onreadystatechange = function() {
     }
 };
 
+var signUpRequest = new XMLHttpRequest();
+signInRequest.onreadystatechange = function () {
+    if (this.readyState == 4) {
+
+        let errorMessage = document.getElementById("error");
+        if (this.status == 204) {
+            errorMessage.innerHTML = "You are signed in";
+            let token = this.getResponseHeader("Authorization")
+            localStorage.setItem("currentUser", token);
+
+            // Changes the view to profile view an loads user info
+            displayView();
+
+            setUserDetails("home");
+            // Todo - kommentera fram när den är klar
+            // reloadWall("home");
+        }
+        else if (this.status == 400) {
+            // Todo - implement
+            console.log('got this: 400')
+        }
+        else if (this.status == 404) {
+            // Todo - implement
+            console.log('got this: 404')
+        }
+        else if (this.status == 401) {
+            // Todo - implement
+            console.log('got this: 401')
+        }
+        else {
+            // Todo - implement
+            console.log('unknown error -_-')
+        }
+    }
+};
+
 // Todo - implement
-// Change Password
+// Change Password Request Object
 
 // Get use data by token
 var dataByTokenRequest = new XMLHttpRequest();
@@ -159,18 +206,25 @@ dataByEmailRequest.onreadystatechange = function() {
 };
 
 // Todo - implement
-// Get Messages By Token
+// Get Messages By Token Request Object
 
 
 
-// Get Messages By Email
+// Get Messages By Email Request Object
 var messagesByEmailRequest = new XMLHttpRequest();
 messagesByEmailRequest.onreadystatechange = function() {
     if (this.readyState == 4) {
 
         if (this.status == 200 || this.status == 204) {
            
-            let resultObj = JSON.parse(this.responseText);
+            let currentWall = JSON.parse(this.responseText);
+
+            // Fromating the text before putting to wall
+            let complete = "";
+            for (let i = 0; i < currentWall.data.length; i++) {
+                complete += currentWall.data[i].person_who_posted + ':   ' + currentWall.data[i].message + "</br>";
+            }
+            document.getElementById('browsePostedMessagesDiv').innerHTML = complete;
             // Todo - implement
   
         }
@@ -194,10 +248,7 @@ messagesByEmailRequest.onreadystatechange = function() {
 };
 
 // Todo - implement
-// Post Message
-
-
-
+// Post Message Request Object
 
 // - - - - - Init functions - - - - - //
 
@@ -209,8 +260,6 @@ displayView = function(){
         windowDiv.innerHTML = profileDiv.innerHTML;
 };
 
-
-
 // - - - - - The function when page loads - - - - - //
 
 window.onload = function () {
@@ -271,7 +320,6 @@ function setUserDetails(who) {
 }
 
 
-
 // - - - - - Sign Up/In/Out - - - - - //
 
 function sign_up() {
@@ -302,27 +350,17 @@ function sign_up() {
         // // Set message to user
         // errorMess.innerHTML = signUpObj["message"];
 
-
-        //----------------//----------------//----------------//----------------
-        let xhttp = new XMLHttpRequest();
-        xhttp.onreadystatechange = function () {
-            if (this.readyState == 4 && this.status == 200) {
-                // Typical action to be performed when the document is ready:
-                errorMess.innerHTML = xhttp.responseText;
-            }
-        };
         //xhttp.addEventListener("load", reqListener);
-        xhttp.open("POST", "http://127.0.0.1:5000/myServer/sign_up", true);
-        xhttp.setRequestHeader('Authorization', '1f191d40-c128-477d-9f9f-196c81810f02');
-        //xhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
+        xhttp.open("POST", url + "sign_up", true);
+        signInRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
         xhttp.send(JSON.stringify({
-            "email": "k@k",
-            "password": "kass",
-            "firstname": "kk",
-            "familyname": "hello",
-            "gender": "male",
-            "city": "linköping",
-            "country": "swe"
+            email: email,
+            password: password,
+            firstname: firstname,
+            familyname: familyname,
+            gender: gender,
+            city: city,
+            country: country
         }));
         // obj = JSON.parse(xhttp.responseText);
         // alert(obj.alert)
@@ -420,8 +458,6 @@ function change_password(ourEvent){
    error_text.style.display = "block";
 }
 
-
-
 // - - - - - Changing the wall - - - - - //
 
 // Submit text button
@@ -446,15 +482,26 @@ function reloadWall(who) {
     let token = localStorage.getItem("currentUser");
     let email = localStorage.getItem(who + "Email");
 
-    // Todo
-    let currentWall = serverstub.getUserMessagesByEmail(token, email);
+    // Get messages from my own wall
+    if (who == 'home') {
+        // Send request to server about receiving the info
 
-    // Fromating the text before putting to wall
-    let complete = "";
-    for (let i = 0; i < currentWall.data.length; i++) {
-        complete += currentWall.data[i].writer + ':   ' + currentWall.data[i].content + "</br>";
+        // Comment
+        // messagesByTokenRequest.open("GET", url + "getUserMessageByToken/" + email, true);
+        // messagesByTokenRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
+        // messagesByTokenRequest.setRequestHeader("Authorization", token)
+        // messagesByTokenRequest.send();
     }
-    document.getElementById(who + 'PostedMessagesDiv').innerHTML = complete;
+
+    // Get messages from another's wall
+    else if (who == 'browse' && email != null && email != "") {
+        // Send request to server about receiving the info
+        messagesByEmailRequest.open("GET", url + "getMessagesByEmail/" + email, true);
+        messagesByEmailRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
+        messagesByEmailRequest.setRequestHeader("Authorization", token)
+        messagesByEmailRequest.send();
+    }    
+
     return false;
 }