diff --git a/src/client/cmdUser/userDel.go b/src/client/cmdUser/userDel.go
index 6ea96fa612289f6463589ff42cd3e13228a0517d..ec41cb4e85acafd04bf7583c084cb29b714eec91 100644
--- a/src/client/cmdUser/userDel.go
+++ b/src/client/cmdUser/userDel.go
@@ -2,10 +2,10 @@ package cmdUser
 
 import (
 	"encoding/csv"
-	"errors"
 	"io"
 	u "nexus-client/utils"
 	g "nexus-libclient/globals"
+	libclient "nexus-libclient/user"
 	"os"
 )
 
@@ -70,27 +70,27 @@ func (cmd *Del) Run(args []string) int {
 				break
 			}
 			if err != nil {
-				u.PrintlnErr("FAILED reading " + err.Error())
+				u.PrintlnErr("Failed reading " + err.Error())
 				statusCode = 1
 				continue
 			}
 
 			columnCount := len(columns)
 			if columnCount != 1 {
-				u.PrintlnErr("FAILED reading record on line ", line, ": expecting 1 column")
+				u.PrintlnErr("Failed reading record on line ", line, ": expecting 1 column")
 				statusCode = 1
 				continue
 			}
 
 			email := columns[0]
 			if !u.IsEmail(email) {
-				u.PrintlnErr("FAILED reading record on line ", line, ": ", email, " is not a valid email")
+				u.PrintlnErr("Failed reading record on line ", line, ": ", email, " is not a valid email")
 				statusCode = 1
 				continue
 			}
 
-			if err := cmd.runRequest(email); err != nil {
-				u.PrintlnErr(err.Error())
+			if err := libclient.UserDelete(email); err != nil {
+				u.PrintlnErr(err)
 				statusCode = 1
 			} else {
 				u.Println("Successfully deleted user " + email)
@@ -102,7 +102,7 @@ func (cmd *Del) Run(args []string) int {
 		// Iterates through each user (email) to delete
 		for i := range args {
 			email := args[i]
-			if err := cmd.runRequest(email); err != nil {
+			if err := libclient.UserDelete(email); err != nil {
 				u.PrintlnErr(err.Error())
 				statusCode = 1
 			} else {
@@ -113,19 +113,3 @@ func (cmd *Del) Run(args []string) int {
 
 	return statusCode
 }
-
-func (cmd *Del) runRequest(email string) error {
-	client := g.GetInstance().Client
-	host := g.GetInstance().Host
-
-	resp, err := client.R().Delete(host + "/users/" + email)
-	if err != nil {
-		return errors.New("Error: " + err.Error())
-	}
-
-	if resp.IsSuccess() {
-		return nil
-	} else {
-		return errors.New(resp.Status() + ": " + resp.String())
-	}
-}
diff --git a/src/libclient/login/login.go b/src/libclient/login/login.go
index c2fe465c403243cf598ec57e07e788af34b69d3c..76c82a89015710bc4fb04083b492016138bc1a11 100644
--- a/src/libclient/login/login.go
+++ b/src/libclient/login/login.go
@@ -2,9 +2,9 @@ package login
 
 import (
 	"encoding/json"
-	"errors"
 	"nexus-common/params"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 )
 
 // Returns the token if the authentication was successful or an error if it wasn't.
@@ -25,22 +25,14 @@ func GetToken(user, pwd string) (string, error) {
 		type Response struct {
 			Token string
 		}
-		var response Response
-		err = json.Unmarshal(resp.Body(), &response)
+		var r Response
+		err = json.Unmarshal(resp.Body(), &r)
 		if err != nil {
 			return "", err
 		}
-		return response.Token, nil
+		return r.Token, nil
 	} else {
-		type Response struct {
-			Message string
-		}
-		var response Response
-		err = json.Unmarshal(resp.Body(), &response)
-		if err != nil {
-			return "", err
-		}
-		return "", errors.New(response.Message)
+		return "", response.ErrorToMsg(resp)
 	}
 }
 
@@ -64,7 +56,7 @@ func RefreshToken() (string, error) {
 			}
 			return response.Token, nil
 		} else {
-			return "", errors.New(resp.Status() + ": " + resp.String())
+			return "", response.ErrorToMsg(resp)
 		}
 	}
 }
diff --git a/src/libclient/response/response.go b/src/libclient/response/response.go
new file mode 100644
index 0000000000000000000000000000000000000000..d5ba47fd48c97ff208093a743f9a0d759f73b3d9
--- /dev/null
+++ b/src/libclient/response/response.go
@@ -0,0 +1,20 @@
+package response
+
+import (
+	"encoding/json"
+	"errors"
+
+	"github.com/go-resty/resty/v2"
+)
+
+type Message struct {
+	Message string
+}
+
+func ErrorToMsg(resp *resty.Response) error {
+	var msg Message
+	if err := json.Unmarshal(resp.Body(), &msg); err != nil {
+		return errors.New("Error: " + err.Error())
+	}
+	return errors.New(msg.Message)
+}
diff --git a/src/libclient/template/templateCreate.go b/src/libclient/template/templateCreate.go
index 1a9048c0be4dad703f7351a4f53e873fd40a45b8..1608d027edbcbb83b406abd19fcda5c2f065706a 100644
--- a/src/libclient/template/templateCreate.go
+++ b/src/libclient/template/templateCreate.go
@@ -2,10 +2,10 @@ package template
 
 import (
 	"encoding/json"
-	"errors"
 	"nexus-common/params"
 	"nexus-common/template"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 
 	"github.com/google/uuid"
 )
@@ -26,6 +26,6 @@ func TemplateCreate(vmID uuid.UUID, name, access string) (*template.TemplateSeri
 		}
 		return &tpl, nil
 	} else {
-		return nil, errors.New(resp.Status() + ": " + resp.String())
+		return nil, response.ErrorToMsg(resp)
 	}
 }
diff --git a/src/libclient/template/templateDel.go b/src/libclient/template/templateDel.go
index 13460f35e6c0ba4aa9479871841d36743183f428..3150bef4905634eff60030f2bb13326aa0a4e590 100644
--- a/src/libclient/template/templateDel.go
+++ b/src/libclient/template/templateDel.go
@@ -1,8 +1,8 @@
 package template
 
 import (
-	"errors"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 )
 
 func TemplateDel(tplID string) error {
@@ -16,6 +16,6 @@ func TemplateDel(tplID string) error {
 	if resp.IsSuccess() {
 		return nil
 	} else {
-		return errors.New(resp.Status() + ": " + resp.String())
+		return response.ErrorToMsg(resp)
 	}
 }
diff --git a/src/libclient/template/templateEdit.go b/src/libclient/template/templateEdit.go
index 3fe5988db8a473e68c14410d1ddb7b4039083ee2..625979bb699534ea42887f695d4a9beeaa9edbe5 100644
--- a/src/libclient/template/templateEdit.go
+++ b/src/libclient/template/templateEdit.go
@@ -2,10 +2,10 @@ package template
 
 import (
 	"encoding/json"
-	"errors"
 	"nexus-common/params"
 	"nexus-common/template"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 )
 
 func TemplateEdit(tplID string, p params.TplEdit) (*template.TemplateSerialized, error) {
@@ -23,6 +23,6 @@ func TemplateEdit(tplID string, p params.TplEdit) (*template.TemplateSerialized,
 		}
 		return &tpl, nil
 	} else {
-		return nil, errors.New(resp.Status() + ": " + resp.String())
+		return nil, response.ErrorToMsg(resp)
 	}
 }
diff --git a/src/libclient/template/templateExportDisk.go b/src/libclient/template/templateExportDisk.go
index 31a0f7b6eb4cc09805803f98e8705b04a35c945d..0c418f51ce035200c709f88d4a835008fd28d71d 100644
--- a/src/libclient/template/templateExportDisk.go
+++ b/src/libclient/template/templateExportDisk.go
@@ -4,6 +4,7 @@ import (
 	"errors"
 	u "nexus-client/utils"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 )
 
 func TemplateExportDisk(tplID, outputFile string) error {
@@ -18,7 +19,7 @@ func TemplateExportDisk(tplID, outputFile string) error {
 			return nil
 		} else {
 			errorMsg, _ := u.FileToString(outputFile)
-			return errors.New("Failed: " + resp.Status() + ": " + errorMsg)
+			return errors.New(response.ErrorToMsg(resp).Error() + ": " + errorMsg)
 		}
 	}
 }
diff --git a/src/libclient/template/templateList.go b/src/libclient/template/templateList.go
index 6748afee6fc9358d93aab22deb9f34686e59c49c..01b0d1789aec9747e1be57f1d24d95b5980b6f11 100644
--- a/src/libclient/template/templateList.go
+++ b/src/libclient/template/templateList.go
@@ -1,9 +1,9 @@
 package template
 
 import (
-	"errors"
 	t "nexus-common/template"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 )
 
 func GetTemplates() ([]t.TemplateSerialized, error) {
@@ -22,7 +22,7 @@ func GetTemplates() ([]t.TemplateSerialized, error) {
 		}
 		return templates, nil
 	} else {
-		return nil, errors.New(resp.Status() + ": " + resp.String())
+		return nil, response.ErrorToMsg(resp)
 	}
 }
 
@@ -42,6 +42,6 @@ func GetTemplate(uuid string) (*t.TemplateSerialized, error) {
 		}
 		return template, nil
 	} else {
-		return nil, errors.New(resp.Status() + ": " + resp.String())
+		return nil, response.ErrorToMsg(resp)
 	}
 }
diff --git a/src/libclient/user/userCreate.go b/src/libclient/user/userCreate.go
index d5a770a7a9b31efcc6f4e99dbe856f15c34f96ee..c0aba07a040c4eafc3953aff05f5be8159720fe8 100644
--- a/src/libclient/user/userCreate.go
+++ b/src/libclient/user/userCreate.go
@@ -1,9 +1,9 @@
 package template
 
 import (
-	"errors"
 	"nexus-common/params"
 	g "nexus-libclient/globals"
+	"nexus-libclient/response"
 )
 
 func UserCreate(p params.UserWithPwd) error {
@@ -17,6 +17,6 @@ func UserCreate(p params.UserWithPwd) error {
 	if resp.IsSuccess() {
 		return nil
 	} else {
-		return errors.New(resp.Status() + ": " + resp.String())
+		return response.ErrorToMsg(resp)
 	}
 }
diff --git a/src/libclient/user/userDel.go b/src/libclient/user/userDel.go
new file mode 100644
index 0000000000000000000000000000000000000000..776ec3a9ce812447e391217686bd1dbf8e452f6d
--- /dev/null
+++ b/src/libclient/user/userDel.go
@@ -0,0 +1,21 @@
+package template
+
+import (
+	g "nexus-libclient/globals"
+	"nexus-libclient/response"
+)
+
+func UserDelete(email string) error {
+	client := g.GetInstance().Client
+	host := g.GetInstance().Host
+
+	resp, err := client.R().Delete(host + "/users/" + email)
+	if err != nil {
+		return err
+	}
+	if resp.IsSuccess() {
+		return nil
+	} else {
+		return response.ErrorToMsg(resp)
+	}
+}