diff --git a/habit.php b/habit.php
index e01a11f..8d24054 100644
--- a/habit.php
+++ b/habit.php
@@ -204,6 +204,147 @@
     echo $result;
 }
 
+function habit_last_10_daily($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+    $dateOccurrences = [];
+
+    // Get the current date
+    $currentDate = date('Y-m-d');
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\d{4}-\d{2}-\d{2})/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = (strpos($line, "#$filter") !== false);
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            $dayDifference = floor((strtotime($currentDate) - strtotime($date)) / ( 24 * 60 * 60));
+
+            // Check if the week is more than 24 weeks ago
+            if ($dayDifference > 10) {
+                break;
+            }
+
+            if (!isset($dateOccurrences[$date])) {
+                $dateOccurrences[$date] = 0;
+            }
+
+            if ($wordFound) {
+                $dateOccurrences[$date] = 1;
+            }
+        }
+    }
+
+    // Remove entries with a value of 0
+    //$dateOccurrences = array_filter($dateOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+
+     // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $dateOccurrences = array_reverse($dateOccurrences);
+    foreach ($dateOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
+function habit_last_10_weekly($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+
+    $dateOccurrences = [];
+    $weeklyOccurrences = [];
+
+    $currentDate = date('Y-m-d');
+    $firstOccurrenceDate = null;
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\b\d{4}-\d{2}-\d{2}\b)/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Explode the line into words
+        $words = explode(' ', $line);
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = false;
+        foreach ($words as $wordInLine) {
+            // Check if the word contains "#takeout" (case-insensitive)
+            if (stripos($wordInLine, "#$filter") !== false) {
+                $wordFound = true;
+                break;
+            }
+        }
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            // Check if the date is within the last 10 weeks
+            if (strtotime($date) < strtotime('-9 weeks')) {
+                continue;
+            }
+        }
+            // Populate the dateOccurrences array
+            if (!isset($dateOccurrences[$date])) {
+                    $dateOccurrences[$date] = 0;
+                }
+            if ($date !== null && $wordFound) {
+                
+                $dateOccurrences[$date]++;
+                $firstOccurrenceDate = $date;
+            }
+        
+
+        // Output the line whether the word is found or not
+        //echo ($wordFound) ? "+ found: $line\n" : $line . "\n";
+    }
+
+     foreach ($dateOccurrences as $date => $count) {
+        // Convert each date to the format $year-$weekNo
+        $dateTime = new DateTime($date);
+        $yearWeek = $dateTime->format('Y-m-W');
+
+        // Add +1 for each date converted into $year-$weekNo as a key
+        if (isset($weeklyOccurrences[$yearWeek])) {
+            if( $dateOccurrences[$date] == 1)
+                $weeklyOccurrences[$yearWeek]++;
+        } else {
+            if($dateOccurrences[$date] == 1){
+                $weeklyOccurrences[$yearWeek] = 1;
+            }else{
+                $weeklyOccurrences[$yearWeek] = 0;
+            }
+        }
+        if($date < $firstOccurrenceDate)
+            $weeklyOccurrences[$yearWeek] = "x";
+    }
+
+    // Remove entries with a value of 0
+    //$weeklyOccurrences = array_filter($weeklyOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+   
+    //print_r($weeklyOccurrences);
+
+    // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $weeklyOccurrences = array_reverse($weeklyOccurrences);
+    foreach ($weeklyOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
 function habit_parse_file($fileContent) {
     $flattenedArray = array();
 
@@ -788,6 +929,9 @@
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-'.$jsonArray['align'];
+            }else{
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
             break;
         }
@@ -810,7 +954,8 @@
             $jsonArray['weekGoal'] = $multiplier;
 
             if( $weekCount < $multiplier )
-                if($todayCheck)
+                $jsonArray['buttonClass'] = 'button-yellow';
+                //if($todayCheck)
                     $jsonArray['buttonText'] = $weekCount;
             if($weekCount >= $multiplier)
                 $jsonArray['buttonClass'] = 'button-done';
@@ -865,9 +1010,27 @@
             }
 
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
+            $last10 = habit_last_10_daily($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($section['Category'][1] == "+" && $value == 1)
+                    $jsonArray[$key] = "green";
+                if ($section['Category'][1] == "+" && $value == 0)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 1)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 0)
+                    $jsonArray[$key] = "green";
+                
+            }
 
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-' . $jsonArray['align'];
+            }else{
+                //if ($section['Category'][1] == "+")
+                //    $jsonArray['buttonClass'] = 'button-bad';
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
         } elseif ($section['Category'][0] == "w") {
             $jsonArray['freq'] = "w";
@@ -886,21 +1049,33 @@
             $jsonArray['weekSoFar'] = $weekCount;
             $jsonArray['weekGoal'] = $multiplier;
 
-            if ($weekCount < $multiplier && $todayCheck) {
+            if ($weekCount < $multiplier) {
                 $jsonArray['buttonText'] = $weekCount;
-            }
-
-            if ($weekCount >= $multiplier) {
+                $jsonArray['buttonClass'] = 'button-yellow';
+            } elseif ($weekCount >= $multiplier) {
                 $jsonArray['buttonClass'] = 'button-done';
-            }
-
-            if ($todayCheck) {
+            } elseif ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-neut';
 
                 if ($weekCount >= $multiplier) {
                     $jsonArray['buttonClass'] = 'button-good';
                 }
             }
+
+            $last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($value >= $multiplier)
+                    $jsonArray[$key] = "green";
+                if ($value < $multiplier)
+                    $jsonArray[$key] = "yellow";
+                if ($value === "x")
+                    $jsonArray[$key] = "neut";
+                if ($value === 0)
+                    $jsonArray[$key] = "red";
+                
+                
+            }
         }
 
         $jsonWordsArray[] = $jsonArray;

diff --git a/habit.php b/habit.php
index e01a11f..8d24054 100644
--- a/habit.php
+++ b/habit.php
@@ -204,6 +204,147 @@
     echo $result;
 }
 
+function habit_last_10_daily($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+    $dateOccurrences = [];
+
+    // Get the current date
+    $currentDate = date('Y-m-d');
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\d{4}-\d{2}-\d{2})/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = (strpos($line, "#$filter") !== false);
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            $dayDifference = floor((strtotime($currentDate) - strtotime($date)) / ( 24 * 60 * 60));
+
+            // Check if the week is more than 24 weeks ago
+            if ($dayDifference > 10) {
+                break;
+            }
+
+            if (!isset($dateOccurrences[$date])) {
+                $dateOccurrences[$date] = 0;
+            }
+
+            if ($wordFound) {
+                $dateOccurrences[$date] = 1;
+            }
+        }
+    }
+
+    // Remove entries with a value of 0
+    //$dateOccurrences = array_filter($dateOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+
+     // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $dateOccurrences = array_reverse($dateOccurrences);
+    foreach ($dateOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
+function habit_last_10_weekly($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+
+    $dateOccurrences = [];
+    $weeklyOccurrences = [];
+
+    $currentDate = date('Y-m-d');
+    $firstOccurrenceDate = null;
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\b\d{4}-\d{2}-\d{2}\b)/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Explode the line into words
+        $words = explode(' ', $line);
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = false;
+        foreach ($words as $wordInLine) {
+            // Check if the word contains "#takeout" (case-insensitive)
+            if (stripos($wordInLine, "#$filter") !== false) {
+                $wordFound = true;
+                break;
+            }
+        }
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            // Check if the date is within the last 10 weeks
+            if (strtotime($date) < strtotime('-9 weeks')) {
+                continue;
+            }
+        }
+            // Populate the dateOccurrences array
+            if (!isset($dateOccurrences[$date])) {
+                    $dateOccurrences[$date] = 0;
+                }
+            if ($date !== null && $wordFound) {
+                
+                $dateOccurrences[$date]++;
+                $firstOccurrenceDate = $date;
+            }
+        
+
+        // Output the line whether the word is found or not
+        //echo ($wordFound) ? "+ found: $line\n" : $line . "\n";
+    }
+
+     foreach ($dateOccurrences as $date => $count) {
+        // Convert each date to the format $year-$weekNo
+        $dateTime = new DateTime($date);
+        $yearWeek = $dateTime->format('Y-m-W');
+
+        // Add +1 for each date converted into $year-$weekNo as a key
+        if (isset($weeklyOccurrences[$yearWeek])) {
+            if( $dateOccurrences[$date] == 1)
+                $weeklyOccurrences[$yearWeek]++;
+        } else {
+            if($dateOccurrences[$date] == 1){
+                $weeklyOccurrences[$yearWeek] = 1;
+            }else{
+                $weeklyOccurrences[$yearWeek] = 0;
+            }
+        }
+        if($date < $firstOccurrenceDate)
+            $weeklyOccurrences[$yearWeek] = "x";
+    }
+
+    // Remove entries with a value of 0
+    //$weeklyOccurrences = array_filter($weeklyOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+   
+    //print_r($weeklyOccurrences);
+
+    // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $weeklyOccurrences = array_reverse($weeklyOccurrences);
+    foreach ($weeklyOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
 function habit_parse_file($fileContent) {
     $flattenedArray = array();
 
@@ -788,6 +929,9 @@
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-'.$jsonArray['align'];
+            }else{
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
             break;
         }
@@ -810,7 +954,8 @@
             $jsonArray['weekGoal'] = $multiplier;
 
             if( $weekCount < $multiplier )
-                if($todayCheck)
+                $jsonArray['buttonClass'] = 'button-yellow';
+                //if($todayCheck)
                     $jsonArray['buttonText'] = $weekCount;
             if($weekCount >= $multiplier)
                 $jsonArray['buttonClass'] = 'button-done';
@@ -865,9 +1010,27 @@
             }
 
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
+            $last10 = habit_last_10_daily($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($section['Category'][1] == "+" && $value == 1)
+                    $jsonArray[$key] = "green";
+                if ($section['Category'][1] == "+" && $value == 0)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 1)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 0)
+                    $jsonArray[$key] = "green";
+                
+            }
 
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-' . $jsonArray['align'];
+            }else{
+                //if ($section['Category'][1] == "+")
+                //    $jsonArray['buttonClass'] = 'button-bad';
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
         } elseif ($section['Category'][0] == "w") {
             $jsonArray['freq'] = "w";
@@ -886,21 +1049,33 @@
             $jsonArray['weekSoFar'] = $weekCount;
             $jsonArray['weekGoal'] = $multiplier;
 
-            if ($weekCount < $multiplier && $todayCheck) {
+            if ($weekCount < $multiplier) {
                 $jsonArray['buttonText'] = $weekCount;
-            }
-
-            if ($weekCount >= $multiplier) {
+                $jsonArray['buttonClass'] = 'button-yellow';
+            } elseif ($weekCount >= $multiplier) {
                 $jsonArray['buttonClass'] = 'button-done';
-            }
-
-            if ($todayCheck) {
+            } elseif ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-neut';
 
                 if ($weekCount >= $multiplier) {
                     $jsonArray['buttonClass'] = 'button-good';
                 }
             }
+
+            $last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($value >= $multiplier)
+                    $jsonArray[$key] = "green";
+                if ($value < $multiplier)
+                    $jsonArray[$key] = "yellow";
+                if ($value === "x")
+                    $jsonArray[$key] = "neut";
+                if ($value === 0)
+                    $jsonArray[$key] = "red";
+                
+                
+            }
         }
 
         $jsonWordsArray[] = $jsonArray;
diff --git a/habit_ui.php b/habit_ui.php
index 05f3176..9e73124 100644
--- a/habit_ui.php
+++ b/habit_ui.php
@@ -100,6 +100,20 @@
 			$result3 = habit_get_stat_top_missing($section['Activity'], $moodlog);
 		}
 		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
+		$last10 = habit_last_10_daily($section['Activity'], $moodlog);
+		foreach ($last10 as $key => $value) {
+            $last10_conv[$key] = "neut";
+            if ($section['Category'][1] == "+" && $value == 1)
+                $last10_conv[$key] = "green";
+            if ($section['Category'][1] == "+" && $value == 0)
+                $last10_conv[$key] = "red";
+            if ($section['Category'][1] == "-" && $value == 1)
+                $last10_conv[$key] = "red";
+            if ($section['Category'][1] == "-" && $value == 0)
+                $last10_conv[$key] = "green";
+            
+        }
+
 		if ($todayCheck) {
 		    $buttonClass = 'button-'.$align;
 		}
@@ -118,17 +132,31 @@
 
 		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
 		$weekCount = habit_count_weekly($section['Activity'], $moodlog);
+		$last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+		foreach ($last10 as $key => $value) {
+            $last10_conv[$key] = "neut";
+            if ($value >= $multiplier)
+                $last10_conv[$key] = "green";
+            if ($value < $multiplier)
+                $last10_conv[$key] = "yellow";
+            if ($value === "x")
+                $last10_conv[$key] = "neut";
+            if ($value === 0)
+                $last10_conv[$key] = "red"; 
+        }
 
-		if( $weekCount < $section['Category'][1] )
-			if($todayCheck)
-				$buttText = $weekCount;
-		if($weekCount >= $multiplier)
-		    	$buttonClass = 'button-done';
-		if( $todayCheck ) {
-		    $buttonClass = 'button-neut';
-		    if($weekCount >= $multiplier)
-		    	$buttonClass = 'button-good';
-		}	
+		if ($weekCount < $multiplier) {
+            $buttText = $weekCount;
+            $buttonClass = 'button-yellow';
+        } elseif ($weekCount >= $multiplier) {
+            $buttonClass = 'button-done';
+        } elseif ($todayCheck) {
+            $buttonClass = 'button-neut';
+
+            if ($weekCount >= $multiplier) {
+                $buttonClass = 'button-good';
+            }
+        }	
 
 	}
 	
@@ -148,6 +176,19 @@
 				    	<div class="habit-score"><div class="score-title">'.$title2.'</div><div class="score-result result2">'.$result2.'</div></div>
 				    	<div class="habit-score"><div class="score-title">'.$title3.'</div><div class="score-result result3">'.$result3.'</div></div>
 					</div>
+					<div class="habit_long_container">
+			            <div class="long_tick lt'.$last10_conv['last_10_1'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_2'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_3'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_4'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_5'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_6'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_7'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_8'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_9'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_10'].'"></div>
+			        </div>
+
 			    </div>
 	';
 	

diff --git a/habit.php b/habit.php
index e01a11f..8d24054 100644
--- a/habit.php
+++ b/habit.php
@@ -204,6 +204,147 @@
     echo $result;
 }
 
+function habit_last_10_daily($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+    $dateOccurrences = [];
+
+    // Get the current date
+    $currentDate = date('Y-m-d');
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\d{4}-\d{2}-\d{2})/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = (strpos($line, "#$filter") !== false);
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            $dayDifference = floor((strtotime($currentDate) - strtotime($date)) / ( 24 * 60 * 60));
+
+            // Check if the week is more than 24 weeks ago
+            if ($dayDifference > 10) {
+                break;
+            }
+
+            if (!isset($dateOccurrences[$date])) {
+                $dateOccurrences[$date] = 0;
+            }
+
+            if ($wordFound) {
+                $dateOccurrences[$date] = 1;
+            }
+        }
+    }
+
+    // Remove entries with a value of 0
+    //$dateOccurrences = array_filter($dateOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+
+     // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $dateOccurrences = array_reverse($dateOccurrences);
+    foreach ($dateOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
+function habit_last_10_weekly($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+
+    $dateOccurrences = [];
+    $weeklyOccurrences = [];
+
+    $currentDate = date('Y-m-d');
+    $firstOccurrenceDate = null;
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\b\d{4}-\d{2}-\d{2}\b)/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Explode the line into words
+        $words = explode(' ', $line);
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = false;
+        foreach ($words as $wordInLine) {
+            // Check if the word contains "#takeout" (case-insensitive)
+            if (stripos($wordInLine, "#$filter") !== false) {
+                $wordFound = true;
+                break;
+            }
+        }
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            // Check if the date is within the last 10 weeks
+            if (strtotime($date) < strtotime('-9 weeks')) {
+                continue;
+            }
+        }
+            // Populate the dateOccurrences array
+            if (!isset($dateOccurrences[$date])) {
+                    $dateOccurrences[$date] = 0;
+                }
+            if ($date !== null && $wordFound) {
+                
+                $dateOccurrences[$date]++;
+                $firstOccurrenceDate = $date;
+            }
+        
+
+        // Output the line whether the word is found or not
+        //echo ($wordFound) ? "+ found: $line\n" : $line . "\n";
+    }
+
+     foreach ($dateOccurrences as $date => $count) {
+        // Convert each date to the format $year-$weekNo
+        $dateTime = new DateTime($date);
+        $yearWeek = $dateTime->format('Y-m-W');
+
+        // Add +1 for each date converted into $year-$weekNo as a key
+        if (isset($weeklyOccurrences[$yearWeek])) {
+            if( $dateOccurrences[$date] == 1)
+                $weeklyOccurrences[$yearWeek]++;
+        } else {
+            if($dateOccurrences[$date] == 1){
+                $weeklyOccurrences[$yearWeek] = 1;
+            }else{
+                $weeklyOccurrences[$yearWeek] = 0;
+            }
+        }
+        if($date < $firstOccurrenceDate)
+            $weeklyOccurrences[$yearWeek] = "x";
+    }
+
+    // Remove entries with a value of 0
+    //$weeklyOccurrences = array_filter($weeklyOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+   
+    //print_r($weeklyOccurrences);
+
+    // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $weeklyOccurrences = array_reverse($weeklyOccurrences);
+    foreach ($weeklyOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
 function habit_parse_file($fileContent) {
     $flattenedArray = array();
 
@@ -788,6 +929,9 @@
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-'.$jsonArray['align'];
+            }else{
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
             break;
         }
@@ -810,7 +954,8 @@
             $jsonArray['weekGoal'] = $multiplier;
 
             if( $weekCount < $multiplier )
-                if($todayCheck)
+                $jsonArray['buttonClass'] = 'button-yellow';
+                //if($todayCheck)
                     $jsonArray['buttonText'] = $weekCount;
             if($weekCount >= $multiplier)
                 $jsonArray['buttonClass'] = 'button-done';
@@ -865,9 +1010,27 @@
             }
 
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
+            $last10 = habit_last_10_daily($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($section['Category'][1] == "+" && $value == 1)
+                    $jsonArray[$key] = "green";
+                if ($section['Category'][1] == "+" && $value == 0)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 1)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 0)
+                    $jsonArray[$key] = "green";
+                
+            }
 
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-' . $jsonArray['align'];
+            }else{
+                //if ($section['Category'][1] == "+")
+                //    $jsonArray['buttonClass'] = 'button-bad';
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
         } elseif ($section['Category'][0] == "w") {
             $jsonArray['freq'] = "w";
@@ -886,21 +1049,33 @@
             $jsonArray['weekSoFar'] = $weekCount;
             $jsonArray['weekGoal'] = $multiplier;
 
-            if ($weekCount < $multiplier && $todayCheck) {
+            if ($weekCount < $multiplier) {
                 $jsonArray['buttonText'] = $weekCount;
-            }
-
-            if ($weekCount >= $multiplier) {
+                $jsonArray['buttonClass'] = 'button-yellow';
+            } elseif ($weekCount >= $multiplier) {
                 $jsonArray['buttonClass'] = 'button-done';
-            }
-
-            if ($todayCheck) {
+            } elseif ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-neut';
 
                 if ($weekCount >= $multiplier) {
                     $jsonArray['buttonClass'] = 'button-good';
                 }
             }
+
+            $last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($value >= $multiplier)
+                    $jsonArray[$key] = "green";
+                if ($value < $multiplier)
+                    $jsonArray[$key] = "yellow";
+                if ($value === "x")
+                    $jsonArray[$key] = "neut";
+                if ($value === 0)
+                    $jsonArray[$key] = "red";
+                
+                
+            }
         }
 
         $jsonWordsArray[] = $jsonArray;
diff --git a/habit_ui.php b/habit_ui.php
index 05f3176..9e73124 100644
--- a/habit_ui.php
+++ b/habit_ui.php
@@ -100,6 +100,20 @@
 			$result3 = habit_get_stat_top_missing($section['Activity'], $moodlog);
 		}
 		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
+		$last10 = habit_last_10_daily($section['Activity'], $moodlog);
+		foreach ($last10 as $key => $value) {
+            $last10_conv[$key] = "neut";
+            if ($section['Category'][1] == "+" && $value == 1)
+                $last10_conv[$key] = "green";
+            if ($section['Category'][1] == "+" && $value == 0)
+                $last10_conv[$key] = "red";
+            if ($section['Category'][1] == "-" && $value == 1)
+                $last10_conv[$key] = "red";
+            if ($section['Category'][1] == "-" && $value == 0)
+                $last10_conv[$key] = "green";
+            
+        }
+
 		if ($todayCheck) {
 		    $buttonClass = 'button-'.$align;
 		}
@@ -118,17 +132,31 @@
 
 		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
 		$weekCount = habit_count_weekly($section['Activity'], $moodlog);
+		$last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+		foreach ($last10 as $key => $value) {
+            $last10_conv[$key] = "neut";
+            if ($value >= $multiplier)
+                $last10_conv[$key] = "green";
+            if ($value < $multiplier)
+                $last10_conv[$key] = "yellow";
+            if ($value === "x")
+                $last10_conv[$key] = "neut";
+            if ($value === 0)
+                $last10_conv[$key] = "red"; 
+        }
 
-		if( $weekCount < $section['Category'][1] )
-			if($todayCheck)
-				$buttText = $weekCount;
-		if($weekCount >= $multiplier)
-		    	$buttonClass = 'button-done';
-		if( $todayCheck ) {
-		    $buttonClass = 'button-neut';
-		    if($weekCount >= $multiplier)
-		    	$buttonClass = 'button-good';
-		}	
+		if ($weekCount < $multiplier) {
+            $buttText = $weekCount;
+            $buttonClass = 'button-yellow';
+        } elseif ($weekCount >= $multiplier) {
+            $buttonClass = 'button-done';
+        } elseif ($todayCheck) {
+            $buttonClass = 'button-neut';
+
+            if ($weekCount >= $multiplier) {
+                $buttonClass = 'button-good';
+            }
+        }	
 
 	}
 	
@@ -148,6 +176,19 @@
 				    	<div class="habit-score"><div class="score-title">'.$title2.'</div><div class="score-result result2">'.$result2.'</div></div>
 				    	<div class="habit-score"><div class="score-title">'.$title3.'</div><div class="score-result result3">'.$result3.'</div></div>
 					</div>
+					<div class="habit_long_container">
+			            <div class="long_tick lt'.$last10_conv['last_10_1'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_2'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_3'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_4'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_5'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_6'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_7'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_8'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_9'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_10'].'"></div>
+			        </div>
+
 			    </div>
 	';
 	
diff --git a/habit_ui_script.js b/habit_ui_script.js
index a4899a8..166c636 100644
--- a/habit_ui_script.js
+++ b/habit_ui_script.js
@@ -88,13 +88,13 @@
 				if (element && parentDiv.contains(element)) {
 					//console.log('Element found:', element);
 				  	// Remove the classes "neut" and "green"
-				  	element.classList.remove("neut", "green");
+				  	element.classList.remove("yellow", "green");
 
 				  	// Set the text content to the value of data.buttonText
 				  	element.textContent = data.buttonText;
 				  	if( data.weekSoFar > 0 ){
 					  	if (data.weekSoFar < data.weekGoal) {
-					    	element.classList.add("neut");
+					    	element.classList.add("yellow");
 					    	element.textContent = data.weekSoFar;
 					  	}
 					  	if (data.weekSoFar >= data.weekGoal) {

diff --git a/habit.php b/habit.php
index e01a11f..8d24054 100644
--- a/habit.php
+++ b/habit.php
@@ -204,6 +204,147 @@
     echo $result;
 }
 
+function habit_last_10_daily($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+    $dateOccurrences = [];
+
+    // Get the current date
+    $currentDate = date('Y-m-d');
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\d{4}-\d{2}-\d{2})/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = (strpos($line, "#$filter") !== false);
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            $dayDifference = floor((strtotime($currentDate) - strtotime($date)) / ( 24 * 60 * 60));
+
+            // Check if the week is more than 24 weeks ago
+            if ($dayDifference > 10) {
+                break;
+            }
+
+            if (!isset($dateOccurrences[$date])) {
+                $dateOccurrences[$date] = 0;
+            }
+
+            if ($wordFound) {
+                $dateOccurrences[$date] = 1;
+            }
+        }
+    }
+
+    // Remove entries with a value of 0
+    //$dateOccurrences = array_filter($dateOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+
+     // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $dateOccurrences = array_reverse($dateOccurrences);
+    foreach ($dateOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
+function habit_last_10_weekly($filter, $filename){
+    // Split the file content into an array of lines
+    $fileContent = file_get_contents($filename);
+    $lines = explode("\n", $fileContent);
+
+    $dateOccurrences = [];
+    $weeklyOccurrences = [];
+
+    $currentDate = date('Y-m-d');
+    $firstOccurrenceDate = null;
+
+    foreach ($lines as $line) {
+        // Extract the date from the line
+        preg_match('/(\b\d{4}-\d{2}-\d{2}\b)/', $line, $matches);
+        $date = isset($matches[0]) ? $matches[0] : null;
+
+        // Explode the line into words
+        $words = explode(' ', $line);
+
+        // Check if the line contains the specified word as a hashtag
+        $wordFound = false;
+        foreach ($words as $wordInLine) {
+            // Check if the word contains "#takeout" (case-insensitive)
+            if (stripos($wordInLine, "#$filter") !== false) {
+                $wordFound = true;
+                break;
+            }
+        }
+
+        // Populate the dateOccurrences array
+        if ($date !== null) {
+            // Calculate the difference in weeks
+            // Check if the date is within the last 10 weeks
+            if (strtotime($date) < strtotime('-9 weeks')) {
+                continue;
+            }
+        }
+            // Populate the dateOccurrences array
+            if (!isset($dateOccurrences[$date])) {
+                    $dateOccurrences[$date] = 0;
+                }
+            if ($date !== null && $wordFound) {
+                
+                $dateOccurrences[$date]++;
+                $firstOccurrenceDate = $date;
+            }
+        
+
+        // Output the line whether the word is found or not
+        //echo ($wordFound) ? "+ found: $line\n" : $line . "\n";
+    }
+
+     foreach ($dateOccurrences as $date => $count) {
+        // Convert each date to the format $year-$weekNo
+        $dateTime = new DateTime($date);
+        $yearWeek = $dateTime->format('Y-m-W');
+
+        // Add +1 for each date converted into $year-$weekNo as a key
+        if (isset($weeklyOccurrences[$yearWeek])) {
+            if( $dateOccurrences[$date] == 1)
+                $weeklyOccurrences[$yearWeek]++;
+        } else {
+            if($dateOccurrences[$date] == 1){
+                $weeklyOccurrences[$yearWeek] = 1;
+            }else{
+                $weeklyOccurrences[$yearWeek] = 0;
+            }
+        }
+        if($date < $firstOccurrenceDate)
+            $weeklyOccurrences[$yearWeek] = "x";
+    }
+
+    // Remove entries with a value of 0
+    //$weeklyOccurrences = array_filter($weeklyOccurrences, function ($value) {
+    //    return $value !== 0;
+    //});
+   
+    //print_r($weeklyOccurrences);
+
+    // Convert keys to timestamps and print in a simple JSON format with surrounding {}
+    $i = 0;
+    $weeklyOccurrences = array_reverse($weeklyOccurrences);
+    foreach ($weeklyOccurrences as $date => $value) {
+        $i++;
+        $result["last_10_$i"] = $value;
+    }
+    return $result;
+}
+
 function habit_parse_file($fileContent) {
     $flattenedArray = array();
 
@@ -788,6 +929,9 @@
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-'.$jsonArray['align'];
+            }else{
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
             break;
         }
@@ -810,7 +954,8 @@
             $jsonArray['weekGoal'] = $multiplier;
 
             if( $weekCount < $multiplier )
-                if($todayCheck)
+                $jsonArray['buttonClass'] = 'button-yellow';
+                //if($todayCheck)
                     $jsonArray['buttonText'] = $weekCount;
             if($weekCount >= $multiplier)
                 $jsonArray['buttonClass'] = 'button-done';
@@ -865,9 +1010,27 @@
             }
 
             $todayCheck = habit_check_daily($section['Activity'], $moodlog);
+            $last10 = habit_last_10_daily($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($section['Category'][1] == "+" && $value == 1)
+                    $jsonArray[$key] = "green";
+                if ($section['Category'][1] == "+" && $value == 0)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 1)
+                    $jsonArray[$key] = "red";
+                if ($section['Category'][1] == "-" && $value == 0)
+                    $jsonArray[$key] = "green";
+                
+            }
 
             if ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-' . $jsonArray['align'];
+            }else{
+                //if ($section['Category'][1] == "+")
+                //    $jsonArray['buttonClass'] = 'button-bad';
+                if ($section['Category'][1] == "-")
+                    $jsonArray['buttonClass'] = 'button-done';
             }
         } elseif ($section['Category'][0] == "w") {
             $jsonArray['freq'] = "w";
@@ -886,21 +1049,33 @@
             $jsonArray['weekSoFar'] = $weekCount;
             $jsonArray['weekGoal'] = $multiplier;
 
-            if ($weekCount < $multiplier && $todayCheck) {
+            if ($weekCount < $multiplier) {
                 $jsonArray['buttonText'] = $weekCount;
-            }
-
-            if ($weekCount >= $multiplier) {
+                $jsonArray['buttonClass'] = 'button-yellow';
+            } elseif ($weekCount >= $multiplier) {
                 $jsonArray['buttonClass'] = 'button-done';
-            }
-
-            if ($todayCheck) {
+            } elseif ($todayCheck) {
                 $jsonArray['buttonClass'] = 'button-neut';
 
                 if ($weekCount >= $multiplier) {
                     $jsonArray['buttonClass'] = 'button-good';
                 }
             }
+
+            $last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+            foreach ($last10 as $key => $value) {
+                $jsonArray[$key] = "neut";
+                if ($value >= $multiplier)
+                    $jsonArray[$key] = "green";
+                if ($value < $multiplier)
+                    $jsonArray[$key] = "yellow";
+                if ($value === "x")
+                    $jsonArray[$key] = "neut";
+                if ($value === 0)
+                    $jsonArray[$key] = "red";
+                
+                
+            }
         }
 
         $jsonWordsArray[] = $jsonArray;
diff --git a/habit_ui.php b/habit_ui.php
index 05f3176..9e73124 100644
--- a/habit_ui.php
+++ b/habit_ui.php
@@ -100,6 +100,20 @@
 			$result3 = habit_get_stat_top_missing($section['Activity'], $moodlog);
 		}
 		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
+		$last10 = habit_last_10_daily($section['Activity'], $moodlog);
+		foreach ($last10 as $key => $value) {
+            $last10_conv[$key] = "neut";
+            if ($section['Category'][1] == "+" && $value == 1)
+                $last10_conv[$key] = "green";
+            if ($section['Category'][1] == "+" && $value == 0)
+                $last10_conv[$key] = "red";
+            if ($section['Category'][1] == "-" && $value == 1)
+                $last10_conv[$key] = "red";
+            if ($section['Category'][1] == "-" && $value == 0)
+                $last10_conv[$key] = "green";
+            
+        }
+
 		if ($todayCheck) {
 		    $buttonClass = 'button-'.$align;
 		}
@@ -118,17 +132,31 @@
 
 		$todayCheck = habit_check_daily($section['Activity'], $moodlog);
 		$weekCount = habit_count_weekly($section['Activity'], $moodlog);
+		$last10 = habit_last_10_weekly($section['Activity'], $moodlog);
+		foreach ($last10 as $key => $value) {
+            $last10_conv[$key] = "neut";
+            if ($value >= $multiplier)
+                $last10_conv[$key] = "green";
+            if ($value < $multiplier)
+                $last10_conv[$key] = "yellow";
+            if ($value === "x")
+                $last10_conv[$key] = "neut";
+            if ($value === 0)
+                $last10_conv[$key] = "red"; 
+        }
 
-		if( $weekCount < $section['Category'][1] )
-			if($todayCheck)
-				$buttText = $weekCount;
-		if($weekCount >= $multiplier)
-		    	$buttonClass = 'button-done';
-		if( $todayCheck ) {
-		    $buttonClass = 'button-neut';
-		    if($weekCount >= $multiplier)
-		    	$buttonClass = 'button-good';
-		}	
+		if ($weekCount < $multiplier) {
+            $buttText = $weekCount;
+            $buttonClass = 'button-yellow';
+        } elseif ($weekCount >= $multiplier) {
+            $buttonClass = 'button-done';
+        } elseif ($todayCheck) {
+            $buttonClass = 'button-neut';
+
+            if ($weekCount >= $multiplier) {
+                $buttonClass = 'button-good';
+            }
+        }	
 
 	}
 	
@@ -148,6 +176,19 @@
 				    	<div class="habit-score"><div class="score-title">'.$title2.'</div><div class="score-result result2">'.$result2.'</div></div>
 				    	<div class="habit-score"><div class="score-title">'.$title3.'</div><div class="score-result result3">'.$result3.'</div></div>
 					</div>
+					<div class="habit_long_container">
+			            <div class="long_tick lt'.$last10_conv['last_10_1'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_2'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_3'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_4'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_5'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_6'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_7'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_8'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_9'].'"></div>
+			            <div class="long_tick lt'.$last10_conv['last_10_10'].'"></div>
+			        </div>
+
 			    </div>
 	';
 	
diff --git a/habit_ui_script.js b/habit_ui_script.js
index a4899a8..166c636 100644
--- a/habit_ui_script.js
+++ b/habit_ui_script.js
@@ -88,13 +88,13 @@
 				if (element && parentDiv.contains(element)) {
 					//console.log('Element found:', element);
 				  	// Remove the classes "neut" and "green"
-				  	element.classList.remove("neut", "green");
+				  	element.classList.remove("yellow", "green");
 
 				  	// Set the text content to the value of data.buttonText
 				  	element.textContent = data.buttonText;
 				  	if( data.weekSoFar > 0 ){
 					  	if (data.weekSoFar < data.weekGoal) {
-					    	element.classList.add("neut");
+					    	element.classList.add("yellow");
 					    	element.textContent = data.weekSoFar;
 					  	}
 					  	if (data.weekSoFar >= data.weekGoal) {
diff --git a/habit_ui_style.css b/habit_ui_style.css
index 4f4d096..e5bc202 100644
--- a/habit_ui_style.css
+++ b/habit_ui_style.css
@@ -16,14 +16,15 @@
 }
 
 .habit-container {
-    width: 100%; /* Two containers per line */
+    width: 100%;
     box-sizing: border-box;
     background-color: #222;
     border-radius: 5px;
-    text-align: left;
+    text-align: center;
     padding: 5px;
-    margin:5px;
+    margin: 5px;
     margin-bottom: 30px;
+    padding-bottom: 0px;
 }
 .habit-title{
 	font-family: 'Source Code Pro', monospace;
@@ -42,10 +43,11 @@
     padding-bottom: 10px;
 }
 .habit-main{ 
-  float: left;
-  width: -webkit-fill-available;
-  margin-top: -90px;
-  margin-right: 90px;
+    float: left;
+    width: -webkit-fill-available;
+    margin-top: -90px;
+    margin-right: 90px;
+    text-align: left;
 }
 
 .good{ color: #58e81b;}
@@ -67,10 +69,18 @@
     font-weight:700;
 }
 
-.button-done{  background-color: #399113; color:#000; }
-.button-good{ background-color: #58e81b; color:#000; }
+.button-done{  background-color: #399113; color:#399113; }
+.button-good{ background-color: #58e81b; color:#58e81b; }
 .button-bad{ background-color: #e81b1b; color:#000; }
-.button-neut{ background-color: #efe23e; color:#000; }
+.button-neut, .button-yellow{ background-color: #efe23e; color:#000; }
+.button-green{ background-color: #58e81b; color:#58e81b; }
+
+
+.ltred{ background-color: #e81b1b; color:#000; }
+.ltgreen{ background-color: #888; }
+.ltneut{ background-color: #444; }
+.ltyellow{ background-color: #efe23e; }
+
 
 .habit-info {
     text-align: right;
@@ -161,4 +171,22 @@
         border: 0px solid #fff;
         box-sizing: border-box;
         border-radius: 2px;
-    }
\ No newline at end of file
+    }
+
+.habit_long_container{
+    text-align: center;
+    height: 10px;
+    display: inline-flex;
+    position: relative;
+}
+
+.long_tick {
+    height: 10px;
+    width: 60px;
+    display: block;
+    margin-right: 1px;
+    padding: 0;
+    position: relative;
+    border-radius: 5px;
+
+}