diff --git a/api/hash-intelligence.go b/api/hash-intelligence.go
index 2a34d1898c0bb005ac4b253bff447e4da9438886..97bb1d34f35c74e88d88b0dceb0af8c95f615242 100644
--- a/api/hash-intelligence.go
+++ b/api/hash-intelligence.go
@@ -16,6 +16,7 @@ func HashIntelligence(c *gin.Context) {
 
 	var hashInt []byte
 	var err error
+	var completeInt bool
 
 	hash := strings.TrimSpace(c.Query("hash"))
 
@@ -28,21 +29,23 @@ func HashIntelligence(c *gin.Context) {
 		fmt.Println("No Cache hit")
 
 		// Perform the request
-		hashInt, err = hashSearch(hash)
+		hashInt, err, completeInt = hashSearch(hash)
 		if err != nil {
 			c.JSON(http.StatusInternalServerError, gin.H{"Error ": "Invalid response from third party API's."})
 			return
 		}
 
-		// Add the data to the database
-		response, err := utils.Conn.Do("SETEX", "hash:"+hash, utils.CacheDurationHash, hashInt)
-		if err != nil {
-			fmt.Println("Error adding data to redis:" + err.Error())
-			logging.Logerror(err, "Error adding data to redis, hash-intelligence")
+		if completeInt {
+			// Add the data to the database
+			response, err := utils.Conn.Do("SETEX", "hash:"+hash, utils.CacheDurationHash, hashInt)
+			if err != nil {
+				fmt.Println("Error adding data to redis:" + err.Error())
+				logging.Logerror(err, "Error adding data to redis, hash-intelligence")
 
-		}
+			}
 
-		fmt.Println(response)
+			fmt.Println(response)
+		}
 
 	} else {
 
@@ -76,7 +79,7 @@ func HashIntelligence(c *gin.Context) {
 	c.Data(http.StatusOK, "application/json", hashInt)
 }
 
-func hashSearch(hash string) (data []byte, err error) {
+func hashSearch(hash string) (data []byte, err error, complete bool) {
 
 	var wg sync.WaitGroup
 	var responseData [2]utils.FrontendResponse2
@@ -98,12 +101,25 @@ func hashSearch(hash string) (data []byte, err error) {
 
 	utils.SetResultHash(resultPointer, len(responseData))
 
+	complete = checkIfIntelligenceCompleteHash(resultResponse, len(responseData))
 	hashInt, err := json.Marshal(resultResponse)
 	if err != nil {
 		fmt.Println(err)
 		logging.Logerror(err, "")
-		return nil, err
+		return nil, err, complete
+	}
+
+	return hashInt, nil, complete
+}
+
+func checkIfIntelligenceCompleteHash(jsonData utils.ResultFrontendResponse, size int) (complete bool) {
+	complete = true
+
+	for i := 0; i <= size-1; i++ {
+		if jsonData.FrontendResponse[i].EN.Status == "Awaiting analysis" || jsonData.FrontendResponse[i].EN.Status == "Error" {
+			complete = false
+		}
 	}
 
-	return hashInt, nil
+	return complete
 }
diff --git a/logs/logging.go b/logs/logging.go
index a15cbcfb031f2fb732ecefb35d689bf0c680571d..1936b19b73aa00653aaa0ce1eff86e4a72095962 100644
--- a/logs/logging.go
+++ b/logs/logging.go
@@ -1,64 +1,66 @@
 package logging
 
 import (
-    "log"
-    //"log/syslog"
-    "os"
+	"log"
+	//"log/syslog"
+	"os"
 )
 
+//Function to handle logging of errors to errorlog file with message
 func Logerror(err error, msg string) {
-    // log to custom file
-    LOG_FILE := "./logs/errorlog"
-    // open log file
-    logFile, err := os.OpenFile(LOG_FILE, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0644)
-    if err != nil {
-        log.Panic(err)
-    }
-    defer logFile.Close()
+	// log to custom file
+	LOG_FILE := "./logs/errorlog"
+	// open log file
+	logFile, err := os.OpenFile(LOG_FILE, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0644)
+	if err != nil {
+		log.Panic(err)
+	}
+	defer logFile.Close()
 
-    // Set log out put and enjoy :)
-    log.SetOutput(logFile)
-
-    // optional: log date-time, filename, and line number
-    log.SetFlags(log.Lshortfile | log.LstdFlags)
+	// Set log output file
+	log.SetOutput(logFile)
 
+	// log date-time, filename
+	log.SetFlags(log.Lshortfile | log.LstdFlags)
 
 	log.Println(msg, err)
 }
 
-func Loginfo(msg string){
+//Function to handle information logging to infofile
+func Loginfo(msg string) {
 	LOG_FILE := "./logs/infolog"
-    // open log file
-    logFile, err := os.OpenFile(LOG_FILE, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0644)
-    if err != nil {
-        log.Panic(err)
-    }
-    defer logFile.Close()
+	// open log file
+	logFile, err := os.OpenFile(LOG_FILE, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0644)
+	if err != nil {
+		log.Panic(err)
+	}
+	defer logFile.Close()
 
-    // Set log out put and enjoy :)
-    log.SetOutput(logFile)
+	// Set log output
+	log.SetOutput(logFile)
 
-    // optional: log date-time, filename, and line number
-    log.SetFlags(log.Lshortfile | log.LstdFlags)
+	//log date-time, filename
+	log.SetFlags(log.Lshortfile | log.LstdFlags)
 
 	log.Println(msg)
 }
 
+//Function to handle error message display to file. 
 func Logerrorinfo(msg string) {
-    // log to custom file
-    LOG_FILE := "./logs/errorlog"
-    // open log file
-    logFile, err := os.OpenFile(LOG_FILE, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0644)
-    if err != nil {
-        log.Panic(err)
-    }
-    defer logFile.Close()
+	// log to custom file
+	LOG_FILE := "./logs/errorlog"
+	// open log file
+	logFile, err := os.OpenFile(LOG_FILE, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0644)
+	if err != nil {
+		log.Panic(err)
+	}
+	defer logFile.Close()
 
-    // Set log out put and enjoy :)
-    log.SetOutput(logFile)
+	// Set log output file :)
+	log.SetOutput(logFile)
 
-    // optional: log date-time, filename, and line number
-    log.SetFlags(log.Lshortfile | log.LstdFlags)
+	//log date-time, filename
+	log.SetFlags(log.Lshortfile | log.LstdFlags)
 
 	log.Println(msg)
 }
\ No newline at end of file
diff --git a/threat-total/src/components/source.js b/threat-total/src/components/source.js
index 6a07e7c5837d1531885d194ebec6396803af2475..138aafa2e2532f4d0e8f5604c6a40c9c2c50e19e 100644
--- a/threat-total/src/components/source.js
+++ b/threat-total/src/components/source.js
@@ -44,7 +44,7 @@ if (props.Data === "") {
                 </div>
             </div>
             <div className="">
-                <p>Tags: {props.Data.en.tags}</p>
+                <p>Tags: {t("tags")}</p>
                 <p>{t("shortForm")} {t("content")}</p>
             </div>   
         </div>
diff --git a/utils/validation.go b/utils/validation.go
index 144cce16b89be0a691cdc1f09ddd8d8624f8ef6e..48f145ee4e785926ad3a13f190cb58cd95aac64e 100644
--- a/utils/validation.go
+++ b/utils/validation.go
@@ -156,7 +156,7 @@ func SetResponseObjectAlienVaultHash(jsonResponse AlienVaultHash, response *Fron
 		response.EN.Status = "Safe"
 		response.EN.Content = "We have no information indicating that this file is malicious."
 
-		response.NO.Content = "Trygg"
+		response.NO.Status = "Trygg"
 		response.NO.Content = "Vi har ingen informasjon som tyder på at dette er en ondsinnet fil."
 	} else {
 		response.EN.Status = "Risk"
@@ -197,11 +197,11 @@ func SetResponseObjectHybridAnalysisHash(jsonResponse HybridAnalysishash, respon
 			response.NO.Status = "Trygg"
 			response.NO.Content = "I henhold til informasjon gitt av HybridAnalysis tilsier ikke denne filen noen trussel."
 		} else {
-			response.EN.Status = "Unknown" //Denne må byttes til at den er ukjent // grå farge elns på frontend.
+			response.EN.Status = "Unknown"
 			response.EN.Content = "This file hash is not known to Hybrid Analysis."
 
 			response.NO.Status = "Ukjent"
-			response.NO.Status = "Denne filhashen er ukjent for Hybrid Analysis."
+			response.NO.Content = "Denne filhashen er ukjent for Hybrid Analysis."
 		}
 		fmt.Println(jsonResponse[0].Verdict)
 		// Set the filename field if known