diff --git a/home/page/activity/activity.js b/home/page/activity/activity.js
index 6746919..3443cc2 100644
--- a/home/page/activity/activity.js
+++ b/home/page/activity/activity.js
@@ -1,5 +1,7 @@
 wn.pages['activity'].onload = function(wrapper) {
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe'));
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_breadcrumb(wn.modules["Activity"].icon);
 	wrapper.appframe.title('Activity');
 	
 	var list = new wn.ui.Listing({
diff --git a/home/page/latest_updates/latest_updates.js b/home/page/latest_updates/latest_updates.js
index f996b35..47d08c7 100644
--- a/home/page/latest_updates/latest_updates.js
+++ b/home/page/latest_updates/latest_updates.js
@@ -2,6 +2,7 @@
 	["21st December 2012", [
 		"Manufacturing: For Material Transfer against Production Order, \
 			fetch quantity pending to be transferred for each item."
+		"Desktop: New Icons and now sortable by dragging."
 	]],
 	["20th December 2012", [
 		"Website: Create Product Search Page, Product Group Page on the website.",
diff --git a/hr/doctype/leave_application/leave_application.js b/hr/doctype/leave_application/leave_application.js
index 7253bdb..63b5e6e 100755
--- a/hr/doctype/leave_application/leave_application.js
+++ b/hr/doctype/leave_application/leave_application.js
@@ -47,7 +47,7 @@
 			} else {
 				cur_frm.set_intro("This Leave Application is pending approval. Only the Leave Apporver can update status.")
 				cur_frm.toggle_enable("status", false);
-				if(!doc.__islocal) cur_frm.frm_head.appframe.buttons.Submit.toggle(false);
+				if(!doc.__islocal) cur_frm.frm_head.appframe.buttons.Submit.remove();
 			}
 		} else {
  			if(doc.status=="Approved") {
diff --git a/public/js/modules.js b/public/js/modules.js
index c90aac6..752d369 100644
--- a/public/js/modules.js
+++ b/public/js/modules.js
@@ -14,6 +14,7 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+wn.home_page = "desktop";
 $.extend(wn.modules, {
 	"Selling": {
 		link: "selling-home",
@@ -62,7 +63,7 @@
 		icon: "icon-group"
 	},
 	"Setup": {
-		link: "hr-home",
+		link: "Setup",
 		color: "#484848",
 		icon: "icon-wrench"
 	},
@@ -102,6 +103,8 @@
 	$(wrapper).find("a[title]").tooltip({
 		delay: { show: 500, hide: 100 }
 	});	
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_breadcrumb(wn.modules[module].icon);
 }
 
 // hide list links where the user does
diff --git a/setup/page/setup/setup.js b/setup/page/setup/setup.js
index 16c60ad..a1b9f2d 100644
--- a/setup/page/setup/setup.js
+++ b/setup/page/setup/setup.js
@@ -15,7 +15,10 @@
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 pscript.onload_Setup = function(wrapper) {
-	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'), 'Setup');	
+	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'), 'Setup');
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_breadcrumb(wn.modules["Setup"].icon);
+	
 	erpnext.module_page.hide_links(wrapper);
 	if(wn.boot.expires_on) {
 		$(wrapper).find(".layout-main")
diff --git a/utilities/page/messages/messages.js b/utilities/page/messages/messages.js
index 1da5bf4..4d77e16 100644
--- a/utilities/page/messages/messages.js
+++ b/utilities/page/messages/messages.js
@@ -31,6 +31,9 @@
 	<div><button class="btn">Post</button></div><hr>\
 	</div>\
 	<div class="all-messages"></div>').appendTo($(wrapper).find('.layout-main-section'));
+
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_breadcrumb(wn.modules["Messages"].icon);
 	
 	erpnext.messages = new erpnext.Messages(wrapper);
 	erpnext.toolbar.set_new_comments(0);
diff --git a/utilities/page/question_view/question_view.js b/utilities/page/question_view/question_view.js
index 4b63c99..ea1a2dc 100644
--- a/utilities/page/question_view/question_view.js
+++ b/utilities/page/question_view/question_view.js
@@ -17,7 +17,9 @@
 pscript['onload_question-view'] = function(wrapper) {
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe'));
 	wrapper.appframe.title('Question');
-	wrapper.appframe.add_module_tab('Knowledge Base');
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_module_breadcrumb("Knowledge Base");
+	wrapper.appframe.add_breadcrumb("icon-file");
 
 	wrapper.add_answer_area = $('.add-answer-area').get(0);
 }
diff --git a/utilities/page/questions/questions.js b/utilities/page/questions/questions.js
index fced563..0e88728 100644
--- a/utilities/page/questions/questions.js
+++ b/utilities/page/questions/questions.js
@@ -18,6 +18,8 @@
 	body = $(wrapper).find('.layout-main-section').get(0);
 	
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.layout-appframe'));
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_breadcrumb(wn.modules["Knowledge Base"].icon);
 	wrapper.appframe.title('Knowledge Base');
 	
 	// kb
diff --git a/utilities/page/todo/todo.js b/utilities/page/todo/todo.js
index 0617b4e..cad5fbd 100644
--- a/utilities/page/todo/todo.js
+++ b/utilities/page/todo/todo.js
@@ -185,6 +185,8 @@
 wn.pages.todo.onload = function(wrapper) {
 	// create app frame
 	wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area'), 'To Do');
+	wrapper.appframe.add_home_breadcrumb();
+	wrapper.appframe.add_breadcrumb(wn.modules["To Do"].icon);
 	wrapper.appframe.add_button('Refresh', erpnext.todo.refresh, 'icon-refresh');
 	wrapper.appframe.add_button('Add', function() {
 		erpnext.todo.make_dialog({
