diff --git a/public/js/startup.css b/public/js/startup.css
index f61e648..7f5f218 100644
--- a/public/js/startup.css
+++ b/public/js/startup.css
@@ -1,6 +1,5 @@
 h1, h2, h3, h4, h5 {
 	font-family: Arial, Helvetica, sans-serif;
-	margin-top: 0.2em;
 }
 
 body {
diff --git a/public/js/startup.js b/public/js/startup.js
index fe9507f..1d43f41 100644
--- a/public/js/startup.js
+++ b/public/js/startup.js
@@ -182,6 +182,8 @@
 	Mousetrap.bind(["command+s", "ctrl+s"], function() {
 		if(cur_frm)
 			cur_frm.save();
+		else if(wn.container.page.save_action)
+			wn.container.page.save_action();
 		return false;
 	});	
 }
diff --git a/utilities/page/todo/todo.js b/utilities/page/todo/todo.js
index 607ceb4..2032b31 100644
--- a/utilities/page/todo/todo.js
+++ b/utilities/page/todo/todo.js
@@ -56,7 +56,7 @@
 		todo.fullname = '';
 		if(todo.assigned_by) {
 			var assigned_by = wn.boot.user_info[todo.assigned_by]
-			todo.fullname = repl("[By %(fullname)s] &nbsp;", {
+			todo.fullname = repl("[By %(fullname)s] ".bold(), {
 				fullname: (assigned_by ? assigned_by.fullname : todo.assigned_by),
 			});
 		}
@@ -64,7 +64,7 @@
 		var parent_list = "#todo-list";
 		if(todo.owner !== user) {
 			var owner = wn.boot.user_info[todo.owner];
-			todo.fullname = repl("[To %(fullname)s] &nbsp;", {
+			todo.fullname = repl("[To %(fullname)s] ".bold(), {
 				fullname: (owner ? owner.fullname : todo.owner),
 			});
 		}
@@ -136,7 +136,7 @@
 				{fieldtype:'Date', fieldname:'date', label:'Event Date', reqd:1},
 				{fieldtype:'Check', fieldname:'checked', label:'Completed'},
 				{fieldtype:'Select', fieldname:'priority', label:'Priority', reqd:1, 'options':['Medium','High','Low'].join('\n')},
-				{fieldtype:'Button', fieldname:'save', label:'Save'}
+				{fieldtype:'Button', fieldname:'save', label:'Save (Ctrl+S)'}
 			]
 		});
 		
@@ -187,7 +187,15 @@
 		erpnext.todo.make_dialog({
 			date:get_today(), priority:'Medium', checked:0, description:''});
 	}, 'icon-plus');
+	wrapper.appframe.add_ripped_paper_effect(wrapper);
 
 	// load todos
 	erpnext.todo.refresh();
+	
+	// save on click
+	wrapper.save_action = function() {
+		if(erpnext.todo.dialog && erpnext.todo.dialog.display) {
+			erpnext.todo.dialog.fields_dict.save.input.click();
+		}
+	};
 }
\ No newline at end of file
