diff --git a/erpnext/templates/pages/projects.html b/erpnext/templates/pages/projects.html
index c71cf2e..4ec0c55 100644
--- a/erpnext/templates/pages/projects.html
+++ b/erpnext/templates/pages/projects.html
@@ -20,9 +20,9 @@
 {% endblock %}
 
 {% block style %}
-<style>
-{% include "templates/includes/projects.css" %}
-</style>
+	<style>
+		{% include "templates/includes/projects.css" %}
+	</style>
 {% endblock %} 
 
 
@@ -50,15 +50,15 @@
 			href='/tasks?new=1&project={{ doc.project_name }}'>New</a>
 			<h3>{{ _("Tasks") }}</h3>
 		</div>
-		<div class="btn-group btn-toggle"> 	
-			<button class="btn btn-xs btn-open-tasks" style="float:left;">Open</button>
-			<button class="btn btn-xs btn-closed-tasks">Close</button>	
+		<div class="btn-group btn-toggle"> 
+			<button class="btn btn-link btn-open-tasks"><span class="indicator orange"></span>Open</button>
+			<button class="btn btn-link btn-closed-tasks"><span class="indicator green"></span>Closed</button>	
 		</div>
 		<div class='project-tasks'>
 		{% include "erpnext/templates/includes/projects/project_tasks.html" %}
 		</div>
 
-		{% if doc.tasks|length > 4 %}
+		{% if doc.tasks|length > 9 %}
 			<p><a id= 'more-tasks' class='more-tasks small underline'>{{ _("More") }}</a><p>
 		{% endif %}
 	</div>
@@ -73,15 +73,15 @@
 			href='/issues?new=1&project={{ doc.project_name }}'>New</a>
 			<h3>{{ _("Issues") }}</h3>
 		</div>
-		<div class="btn-group btn-toggle"> 	
-			<button class="btn btn-xs btn-open-issues" style="float:left;">Open</button>
-			<button class="btn btn-xs btn-closed-issues">Close</button>	
+		<div class="btn-group btn-toggle"> 
+			<button class="btn btn-link btn-open-issues"><span class="indicator red"></span>Open</button>
+			<button class="btn btn-link btn-closed-issues"><span class="indicator green"></span>Closed</button>	
 		</div>
 		<div class='project-issues'>
 		{% include "erpnext/templates/includes/projects/project_issues.html" %}
 		</div>
 
-		{% if doc.issues|length > 4 %}
+		{% if doc.issues|length > 9 %}
 			<p><a id='more-issues' class='more-issues small underline'>{{ _("More") }}</a><p>
 		{% endif %}
 	</div>	
@@ -94,7 +94,7 @@
 	<div class='project-timelogs'>
 	{% include "erpnext/templates/includes/projects/project_timelogs.html" %}
 	</div>
-	{% if doc.timelogs|length > 1 %}
+	{% if doc.timelogs|length > 9 %}
 		<p><a class='more-timelogs small underline'>{{ _("More") }}</a><p>
 	{% endif %}
 {% else %}
@@ -106,4 +106,4 @@
 	{% include "erpnext/templates/pages/projects.js" %}
 </script>
 
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/erpnext/templates/pages/projects.js b/erpnext/templates/pages/projects.js
index b1468eb..331c2d4 100644
--- a/erpnext/templates/pages/projects.js
+++ b/erpnext/templates/pages/projects.js
@@ -61,8 +61,8 @@
 			success: function(data) {
 				$('.project-'+ item).html(data.message);
 				
-				$('.project-'+ item +'-section .btn-group .btn-primary').removeClass('btn-primary');
-				$('.btn-'+ item_status +'-'+ item).addClass( "btn-primary" );
+				$('.project-'+ item +'-section .btn-group .bold').removeClass('bold');
+				$('.btn-'+ item_status +'-'+ item).addClass( "bold" );
 				$(".more-"+ item).toggle(true);
 			}
 		});	
@@ -117,4 +117,4 @@
 		})
 		return false;
 	}
-});
+});
\ No newline at end of file
diff --git a/erpnext/templates/pages/projects.py b/erpnext/templates/pages/projects.py
index 758113f..0b084b4 100644
--- a/erpnext/templates/pages/projects.py
+++ b/erpnext/templates/pages/projects.py
@@ -71,12 +71,14 @@
 		limit_start=start, limit_page_length=10)	
 		
 	for task in tasks:
+		print task._comments
 		task.todo = frappe.get_all('ToDo',filters={'reference_name':task.name, 'reference_type':'Task'},
 		fields=["assigned_by", "owner", "modified", "modified_by"])
 		if task.todo:
 			task.todo=task.todo[0]
 			task.todo.user_image = frappe.db.get_value('User', task.todo.owner, 'user_image')
-			
+		if task._comments:
+			task.comment_count = len(json.loads(_comments or "[]"))				
 	return tasks
 
 @frappe.whitelist()
