diff --git a/home/page/desktop/desktop.css b/home/page/desktop/desktop.css
index 88a437c..7990216 100644
--- a/home/page/desktop/desktop.css
+++ b/home/page/desktop/desktop.css
@@ -1,49 +1,13 @@
 /* Sprite CSS */
-.sprite-account{ background-position: 0 0; width: 32px; height: 40px; } 
-.sprite-buying{ background-position: 0 -90px; width: 40px; height: 40px; } 
-.sprite-calendar{ background-position: 0 -180px; width: 35px; height: 40px; } 
-.sprite-feed{ background-position: 0 -349px; width: 32px; height: 40px; } 
-.sprite-hr{ background-position: 0 -439px; width: 40px; height: 32px; } 
-.sprite-kb{ background-position: 0 -521px; width: 24px; height: 39px; } 
-.sprite-messages{ background-position: 0 -610px; width: 40px; height: 26px; } 
-.sprite-manufacturing{ background-position: 0 -686px; width: 40px; height: 33px; } 
-.sprite-project{ background-position: 0 -769px; width: 40px; height: 22px; } 
-.sprite-report{ background-position: 0 -841px; width: 29px; height: 40px; } 
-.sprite-selling{ background-position: 0 -931px; width: 34px; height: 40px; } 
-.sprite-setting{ background-position: 0 -1021px; width: 37px; height: 40px; } 
-.sprite-stock{ background-position: 0 -1111px; width: 34px; height: 39px; } 
-.sprite-support{ background-position: 0 -1200px; width: 40px; height: 40px; } 
-.sprite-todo{ background-position: 0 -1290px; width: 40px; height: 34px; } 
-.sprite-website{ background-position: 0 -1374px; width: 40px; height: 40px; } 
-
-.sprite-image { background-image: url("app/images/sprite-desktop.png"); }
-
-
-.sprite-account{ margin-top: 8px; margin-left: 12px; } 
-.sprite-selling{ margin-top: 8px; margin-left: 12px; } 
-.sprite-stock{ margin-top: 8px; margin-left: 8px; } 
-.sprite-buying{ margin-top: 8px; margin-left: 8px; } 
-.sprite-support{ margin-top: 8px; margin-left: 8px; } 
-.sprite-hr{ margin-top: 12px; margin-left: 8px; } 
-.sprite-project{ margin-top: 16px; margin-left: 8px; } 
-.sprite-manufacturing{ margin-top: 10px; margin-left: 8px; } 
-.sprite-website{ margin-top: 8px; margin-left: 8px; } 
-.sprite-setting{ margin-top: 8px; margin-left: 8px; } 
-.sprite-report{ margin-top: 8px; margin-left: 14px; } 
-
-.sprite-messages{ margin-top: 14px; margin-left: 8px; } 
-.sprite-todo{ margin-top: 10px; margin-left: 10px; } 
-.sprite-calendar{ margin-top: 8px; margin-left: 10px; } 
-.sprite-kb{ margin-top: 8px; margin-left: 16px; } 
-.sprite-feed{ margin-top: 8px; margin-left: 14px; } 
 
 .case-border {
 	border-radius: 10px;
 	-moz-border-radius: 10px;
 	-webkit-border-radius: 10px;
-	width: 56px;
-	height: 56px;
-	border: 4px solid white;
+	width: 32px;
+	height: 32px;
+	padding: 12px;
+	border: 2px solid white;
 	box-shadow: 0 0 4px 1px black;
 	-moz-box-shadow: 0 0 4px 1px black;
 	-webkit-box-shadow: 0 0 4px 1px black;
@@ -58,6 +22,12 @@
 	height: 100px;
 }
 
+.case-wrapper i {
+	font-size: 32px;
+	color: #f8f8f8;
+	margin-top: 8px;
+}
+
 .case-label {
 	color: white;
 	padding-top: 10px;
diff --git a/home/page/desktop/desktop.js b/home/page/desktop/desktop.js
index f9a3b54..e154b3a 100644
--- a/home/page/desktop/desktop.js
+++ b/home/page/desktop/desktop.js
@@ -1,74 +1,48 @@
 wn.provide('erpnext.desktop');
 
-erpnext.desktop.gradient = "<style>\
-	.case-%(name)s {\
-		background: %(start)s; /* Old browsers */\
-		background: -moz-radial-gradient(center, ellipse cover,  %(start)s 0%, %(middle)s 44%, %(end)s 100%); /* FF3.6+ */\
-		background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,%(start)s), color-stop(44%,%(middle)s), color-stop(100%,%(end)s)); /* Chrome,Safari4+ */\
-		background: -webkit-radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* Chrome10+,Safari5.1+ */\
-		background: -o-radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* Opera 12+ */\
-		background: -ms-radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* IE10+ */\
-		background: radial-gradient(center, ellipse cover,  %(start)s 0%,%(middle)s 44%,%(end)s 100%); /* W3C */\
-	}\
-	</style>"
-
 erpnext.desktop.refresh = function() {
-	erpnext.desktop.add_classes();
 	erpnext.desktop.render();
-}
 
-erpnext.desktop.add_classes = function() {
-	$.each(wn.module_css_classes, function(i, v) {
-		v.name = i;
-		$(repl(erpnext.desktop.gradient, v)).appendTo('head');
+	$("#icon-grid").sortable({
+		update: function() {
+			new_order = [];
+			$("#icon-grid .case-wrapper").each(function(i, e) {
+				new_order.push($(this).attr("data-name"));
+			});
+			wn.user.set_default("_desktop_items", new_order);
+		}
 	});
 }
 
 erpnext.desktop.render = function() {
-	var icons = {
-		'Accounts': { sprite: 'account', label: 'Accounts'},
-		'Selling': { sprite: 'selling', label: 'Selling'},
-		'Stock': { sprite: 'stock', label: 'Stock'},
-		'Buying': { sprite: 'buying', label: 'Buying'},
-		'Support': { sprite: 'support', label: 'Support'},
-		'HR': { sprite: 'hr', label: 'Human<br />Resources'},
-		'Projects':	{ sprite: 'project', label: 'Projects'},
-		'Manufacturing': { sprite: 'manufacturing', label: 'Manufacturing'},
-		'Website': { sprite: 'website', label: 'Website'},
-		'Activity': { sprite: 'feed', label: 'Activity'},
-		'Setup': { sprite: 'setting', label: 'Setup'},
-		'To Do': { sprite: 'todo', label: 'To Do'},
-		'Messages': { sprite: 'messages', label: 'Messages'},
-		'Calendar': { sprite: 'calendar', label: 'Calendar'},
-		'Knowledge Base': { sprite: 'kb', label: 'Knowledge<br />Base'}
-	}
-
 	var add_icon = function(m) {
-		var icon = icons[m];
-		icon.link = erpnext.modules[m];
-		icon.gradient = wn.module_css_map[m];
+		var module = wn.modules[m];
+		if(!module.label) 
+			module.label = m;
+		module.name = m;
+		module.gradient_css = wn.get_gradient_css(module.color, 45);
 		
 		$('#icon-grid').append(repl('\
-			<div id="%(sprite)s" class="case-wrapper"><a href="#!%(link)s">\
-				<div class="case-border case-%(gradient)s">\
-					<div class="sprite-image sprite-%(sprite)s"></div>\
+			<div id="module-icon-%(link)s" class="case-wrapper" data-name="%(name)s"><a href="#%(link)s">\
+				<div class="case-border" style="%(gradient_css)s">\
+					<i class="%(icon)s"></i>\
 				</div></a>\
 				<div class="case-label">%(label)s</div>\
-			</div>', icon));		
+			</div>', module));
 	}
 	
-	// setup
-	for(var i in wn.boot.modules_list) {
-		var m = wn.boot.modules_list[i];
+	// modules
+	var modules_list = wn.user.get_default("_desktop_items") || wn.boot.modules_list;
+	$.each(modules_list, function(i, m) {
 		if(!in_list(['Setup', 'Core'], m) && wn.boot.profile.allow_modules.indexOf(m)!=-1)
 			add_icon(m);
-	}
+	})
 
-
+	// setup
 	if(user_roles.indexOf('System Manager')!=-1)
 		add_icon('Setup')
 
-	// apps
+	// notifications
 	erpnext.desktop.show_pending_notifications();
 
 }
@@ -100,12 +74,12 @@
 
 	}
 
-	add_circle('messages', 'unread_messages', 'Unread Messages');
-	add_circle('support', 'open_support_tickets', 'Open Support Tickets');
-	add_circle('todo', 'things_todo', 'Things To Do');
-	add_circle('calendar', 'todays_events', 'Todays Events');
-	add_circle('project', 'open_tasks', 'Open Tasks');
-	add_circle('kb', 'unanswered_questions', 'Unanswered Questions');
+	add_circle('module-icon-messages', 'unread_messages', 'Unread Messages');
+	add_circle('module-icon-support', 'open_support_tickets', 'Open Support Tickets');
+	add_circle('module-icon-todo', 'things_todo', 'Things To Do');
+	add_circle('module-icon-calendar', 'todays_events', 'Todays Events');
+	add_circle('module-icon-project', 'open_tasks', 'Open Tasks');
+	add_circle('module-icon-kb', 'unanswered_questions', 'Unanswered Questions');
 
 	erpnext.update_messages();
 
diff --git a/public/images/module-icons-small.png b/public/images/module-icons-small.png
deleted file mode 100644
index c5dc26d..0000000
--- a/public/images/module-icons-small.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/accounts.png b/public/images/module_icons/accounts.png
deleted file mode 100644
index 5a05c4d..0000000
--- a/public/images/module_icons/accounts.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/buying.png b/public/images/module_icons/buying.png
deleted file mode 100644
index 5878748..0000000
--- a/public/images/module_icons/buying.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/calendar.png b/public/images/module_icons/calendar.png
deleted file mode 100644
index 254ba0f..0000000
--- a/public/images/module_icons/calendar.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/dashboard.png b/public/images/module_icons/dashboard.png
deleted file mode 100644
index 1e12ea0..0000000
--- a/public/images/module_icons/dashboard.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/feed.png b/public/images/module_icons/feed.png
deleted file mode 100644
index d4d5eab..0000000
--- a/public/images/module_icons/feed.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/hr.png b/public/images/module_icons/hr.png
deleted file mode 100644
index 34fa2f8..0000000
--- a/public/images/module_icons/hr.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/kb.png b/public/images/module_icons/kb.png
deleted file mode 100644
index 9ea1842..0000000
--- a/public/images/module_icons/kb.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/messages.png b/public/images/module_icons/messages.png
deleted file mode 100644
index 77556e1..0000000
--- a/public/images/module_icons/messages.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/production.png b/public/images/module_icons/production.png
deleted file mode 100644
index 309b7bc..0000000
--- a/public/images/module_icons/production.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/projects.png b/public/images/module_icons/projects.png
deleted file mode 100644
index 65c87ee..0000000
--- a/public/images/module_icons/projects.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/selling.png b/public/images/module_icons/selling.png
deleted file mode 100644
index 9e5d1f2..0000000
--- a/public/images/module_icons/selling.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/setup.png b/public/images/module_icons/setup.png
deleted file mode 100644
index 18061df..0000000
--- a/public/images/module_icons/setup.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/stock.png b/public/images/module_icons/stock.png
deleted file mode 100644
index 42c1453..0000000
--- a/public/images/module_icons/stock.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/support.png b/public/images/module_icons/support.png
deleted file mode 100644
index a407505..0000000
--- a/public/images/module_icons/support.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/todo.png b/public/images/module_icons/todo.png
deleted file mode 100644
index b7c056b..0000000
--- a/public/images/module_icons/todo.png
+++ /dev/null
Binary files differ
diff --git a/public/images/module_icons/website.png b/public/images/module_icons/website.png
deleted file mode 100644
index 11064de..0000000
--- a/public/images/module_icons/website.png
+++ /dev/null
Binary files differ
diff --git a/public/images/sprite-desktop.png b/public/images/sprite-desktop.png
deleted file mode 100644
index cb8fc6e..0000000
--- a/public/images/sprite-desktop.png
+++ /dev/null
Binary files differ
diff --git a/public/js/conf.js b/public/js/conf.js
index 8dd4cb9..522de0a 100644
--- a/public/js/conf.js
+++ b/public/js/conf.js
@@ -7,7 +7,7 @@
 		source: 'https://github.com/webnotes/erpnext',
 		publisher: 'Web Notes Technologies Pvt Ltd, Mumbai',
 		copyright: '&copy; Web Notes Technologies Pvt Ltd',
-		version: '2' //+ '.' + window._version_number
+		version: 'Please see git log for the release number'
 	});
 }
 
diff --git a/public/js/modules.js b/public/js/modules.js
index b95b3ea..c90aac6 100644
--- a/public/js/modules.js
+++ b/public/js/modules.js
@@ -14,75 +14,85 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-erpnext.modules = {
-	'Selling': 'selling-home',
-	'Accounts': 'accounts-home',
-	'Stock': 'stock-home',
-	'Buying': 'buying-home',
-	'Support': 'support-home',
-	'Projects': 'projects-home',
-	'Manufacturing': 'manufacturing-home',
-	'Website': 'website-home',
-	'HR': 'hr-home',
-	'Setup': 'Setup',
-	'Activity': 'activity',
-	'To Do': 'todo',
-	'Calendar': 'calendar',
-	'Messages': 'messages',
-	'Knowledge Base': 'questions',
-}
-
-wn.provide('wn.modules');
-$.extend(wn.modules, erpnext.modules);
-wn.modules['Core'] = 'Setup';
-
-wn.module_css_classes  = {
-	'red': { start: '#A90329', middle: '#8F0222',	end: '#6D0019' },
-	'brown': { start: '#723e02', middle: '#633501', end: '#4a2700' },
-	'green': { start: '#4b5602', middle: '#3f4901', end: '#313800' },
-	'blue': { start: '#026584', middle: '#025770', end: '#004256' },
-	'yellow': { start: '#be7902', middle: '#a66a02', end: '#865500' },
-	'purple': { start: '#4d017d', middle: '#410169', end: '#310050' },
-	'ocean': { start: '#02a47e', middle: '#018d6c', end: '#006a51' },
-	'pink': { start: '#a40281', middle: '#8d016e', end: '#6a0053' },
-	'grey': { start: '#545454', middle: '#484848', end: '#363636' },
-	'dark-red': { start: '#68021a', middle: '#590116', end: '#440010' },
-	'leaf-green': { start: '#b0a400', middle: '#968c00', end: '#726a00' },
-	//'dark-blue': { start: '#023bae', middle: '#013295', end: '#002672' },
-	'bright-green': { start: '#03ad1f', middle: '#02941a', end: '#007213' },
-	'bright-yellow': { start: '#ffd65e', middle: '#febf04', end: '#ed9017' },
-	'peacock': { start: '#026584', middle: '#026584', end: '#322476' },
-	'violet': { start: '#50448e', middle: '#473b7f', end: '#3a3169' },
-	'ultra-dark-green': { start: '#014333', middle: '#01372b', end: '#002a20' },		
-}
-
-wn.module_css_map = {
-	'Accounts': 'blue',
-	'Selling': 'green',
-	'Stock': 'yellow',
-	'Buying': 'red',
-	'Support': 'purple',
-	'HR': 'ocean',
-	'Projects':	'violet',
-	'Manufacturing': 'dark-red',
-	'Website': 'leaf-green',
-	'Activity': 'brown',
-	'Setup': 'grey',
-	'To Do': 'bright-yellow',
-	'Messages': 'pink',
-	'Calendar': 'peacock',
-	'Knowledge Base': 'ultra-dark-green'
-}
-
-wn.get_module_color = function(module) {
-	try {
-		var color = wn.module_css_classes[wn.module_css_map[module]].middle;			
-	} catch(e) {
-		var color = "#000";
-	}
-	return color;	
-}
-
+$.extend(wn.modules, {
+	"Selling": {
+		link: "selling-home",
+		color: "#3f4901",
+		icon: "icon-tag"
+	},
+	"Accounts": {
+		link: "accounts-home",
+		color: "#025770",
+		icon: "icon-money"
+	},
+	"Stock": {
+		link: "stock-home",
+		color: "#a66a02",
+		icon: "icon-truck"
+	},
+	"Buying": {
+		link: "buying-home",
+		color: "#8F0222",
+		icon: "icon-shopping-cart"
+	},
+	"Support": {
+		link: "support-home",
+		color: "#410169",
+		icon: "icon-phone"
+	},
+	"Projects": {
+		link: "projects-home",
+		color: "#473b7f",
+		icon: "icon-tasks"
+	},
+	"Manufacturing": {
+		link: "manufacturing-home",
+		color: "#590116",
+		icon: "icon-magic"
+	},
+	"Website": {
+		link: "website-home",
+		color: "#968c00",
+		icon: "icon-globe"
+	},
+	"HR": {
+		link: "hr-home",
+		color: "#018d6c",
+		label: "Human Resources",
+		icon: "icon-group"
+	},
+	"Setup": {
+		link: "hr-home",
+		color: "#484848",
+		icon: "icon-wrench"
+	},
+	"Activity": {
+		link: "activity",
+		color: "#633501",
+		icon: "icon-play"
+	},
+	"To Do": {
+		link: "todo",
+		color: "#febf04",
+		icon: "icon-check"
+	},
+	"Calendar": {
+		link: "calendar",
+		color: "#026584",
+		icon: "icon-calendar"
+	},
+	"Messages": {
+		link: "messages",
+		color: "#8d016e",
+		icon: "icon-comments"
+	},
+	"Knowledge Base": {
+		link: "questions",
+		color: "#01372b",
+		icon: "icon-question-sign"
+	},
+	
+});
 
 wn.provide('erpnext.module_page');
 
diff --git a/public/js/startup.css b/public/js/startup.css
index c367cbb..88ebedd 100644
--- a/public/js/startup.css
+++ b/public/js/startup.css
@@ -60,25 +60,4 @@
 .show-all-reports {
 	margin-top: 5px;
 	font-size: 11px;
-}
-
-.small-module-icons-accounts{ background-position: 0 0; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-selling{ background-position: 0 -67px; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-calendar{ background-position: 0 -134px; width: 15px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-feed{ background-position: 0 -263px; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-hr{ background-position: 0 -330px; width: 17px; height: 14px; margin-top: -1px; } 
-.small-module-icons-kb{ background-position: 0 -394px; width: 10px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-messages{ background-position: 0 -461px; width: 17px; height: 11px; } 
-.small-module-icons-manufacturing{ background-position: 0 -522px; width: 17px; height: 14px; margin-top: -1px; } 
-.small-module-icons-projects{ background-position: 0 -586px; width: 17px; height: 10px; } 
-.small-module-icons-buying{ background-position: 0 -646px; width: 17px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-setup{ background-position: 0 -713px; width: 16px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-stock{ background-position: 0 -780px; width: 14px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-support{ background-position: 0 -847px; width: 17px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-.small-module-icons-todo{ background-position: 0 -914px; width: 17px; height: 15px; margin-top: -1px; margin-bottom: -1px; } 
-.small-module-icons-website{ background-position: 0 -979px; width: 17px; height: 17px; margin-top: -2px; margin-bottom: -2px; } 
-
-.small-module-icons { 
-	background-image: url("../app/images/module-icons-small.png"); 
-	display: inline-block;
 }
\ No newline at end of file
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index fa83569..e228826 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -59,7 +59,7 @@
 		wn.boot.modules_list = JSON.parse(wn.boot.modules_list);	
 	}
 	else
-		wn.boot.modules_list = keys(erpnext.modules).sort();
+		wn.boot.modules_list = keys(wn.modules).sort();
 
 	// add to dropdown
 	for(var i in wn.boot.modules_list) {
@@ -68,8 +68,8 @@
 		if(m!='Setup' && wn.boot.profile.allow_modules.indexOf(m)!=-1) {
 			args = {
 				module: m,
-				module_page: erpnext.modules[m],
-				module_label: m=='HR' ? 'Human Resources' : m
+				module_page: wn.modules[m].link,
+				module_label: wn.modules[m].label || m
 			}
 
 			$('.navbar .modules').append(repl('<li><a href="#!%(module_page)s" \
