diff --git a/erpnext/home/page/dashboard/dashboard.js b/erpnext/home/page/dashboard/dashboard.js
index 8ef2ffb..e8f2992 100644
--- a/erpnext/home/page/dashboard/dashboard.js
+++ b/erpnext/home/page/dashboard/dashboard.js
@@ -1,6 +1,5 @@
 pscript.onload_dashboard = function() {
 	// load jqplot
-	$.scriptPath = 'js/'
 	wn.require('lib/css/jqpot.css');
 	wn.require('lib/js/legacy/jquery/jquery.jqplot.min.js');
 	wn.require('lib/js/legacy/jquery/jqplot-plugins/jqplot.barRenderer.js'); 
diff --git a/erpnext/patches/jan_mar_2012/website.py b/erpnext/patches/jan_mar_2012/website.py
index dfa0a3d..777e0ef 100644
--- a/erpnext/patches/jan_mar_2012/website.py
+++ b/erpnext/patches/jan_mar_2012/website.py
@@ -16,10 +16,14 @@
 	reload_doc('website', 'doctype', 'top_bar_item')
 	reload_doc('website', 'doctype', 'contact_us_settings')
 	reload_doc('website', 'doctype', 'about_us_settings')
+	reload_doc('website', 'doctype', 'blog')
+	reload_doc('website', 'doctype', 'blog_subscriber')
 
 	reload_doc('website', 'page', 'home')
 	reload_doc('website', 'page', 'contact')
 	reload_doc('website', 'page', 'about')
+	reload_doc('website', 'page', 'blog')
+	reload_doc('website', 'page', 'unsubscribe')
 		
 def add_website_manager():
 	"""add website manager to system manager"""
diff --git a/erpnext/selling/page/sales_dashboard/sales_dashboard.js b/erpnext/selling/page/sales_dashboard/sales_dashboard.js
index cdb5c7c..d15c602 100644
--- a/erpnext/selling/page/sales_dashboard/sales_dashboard.js
+++ b/erpnext/selling/page/sales_dashboard/sales_dashboard.js
@@ -5,11 +5,10 @@
   $dh(pscript.mnt_div);
   $dh(pscript.mnt_div1);
   //pscript.dx_axis = [];
-  
-  if($.jqplot) pscript.all_onchnge();
-  else
-    // import the library
-    $c_js('jquery/jquery.jqplot.min.js', pscript.all_onchnge);
+
+	wn.require('lib/css/jqpot.css');
+	wn.require('lib/js/legacy/jquery/jquery.jqplot.min.js');
+	pscript.all_onchnge();
 }
 //=======================================================================
 pscript.make_filters = function(){
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index 8b1a7cf..603d8f3 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -42,7 +42,7 @@
 	if webnotes.session['user']=='Guest':
 		bootinfo['topbar'] = webnotes.model.doc.getsingle('Top Bar Settings')
 		bootinfo['topbaritems'] = webnotes.conn.sql("""select label, std_page, custom_page, parent_label
-			from `tabTop Bar Item`""", as_dict=1)
+			from `tabTop Bar Item` where parent='Top Bar Settings' order by idx asc""", as_dict=1)
 	else:	
 		bootinfo['letter_heads'] = get_letter_heads()
 
diff --git a/erpnext/website/doctype/blog_subscriber/__init__.py b/erpnext/website/doctype/blog_subscriber/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/doctype/blog_subscriber/__init__.py
diff --git a/erpnext/website/doctype/blog_subscriber/blog_subscriber.txt b/erpnext/website/doctype/blog_subscriber/blog_subscriber.txt
new file mode 100644
index 0000000..1b4a987
--- /dev/null
+++ b/erpnext/website/doctype/blog_subscriber/blog_subscriber.txt
@@ -0,0 +1,29 @@
+# DocType, Blog Subscriber
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-27 17:18:33',
+		'docstatus': 0,
+		'modified': '2012-01-27 17:18:33',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocType',
+		'module': 'Website',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 0,
+		'version': 1
+	},
+
+	# DocType, Blog Subscriber
+	{
+		'doctype': 'DocType',
+		'name': 'Blog Subscriber'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index 85d975b..788ed62 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -20,7 +20,7 @@
 		$('header').append('<div class="topbar">\
 			<div class="topbar-inner">\
 			<div class="container">\
-				<a class="brand">[brand]</a>\
+				<a class="brand" href="#!home">[brand]</a>\
 				<ul class="nav">\
 				</ul>\
 				<img src="lib/images/ui/spinner.gif" id="spinner"/>\
diff --git a/erpnext/website/page/blog/blog.html b/erpnext/website/page/blog/blog.html
new file mode 100644
index 0000000..f271e03
--- /dev/null
+++ b/erpnext/website/page/blog/blog.html
@@ -0,0 +1,14 @@
+<div class="layout_wrapper">
+	<div class="web-content" id="content-blog">
+		<h1>Blog</h1>
+		<br>
+		<div class="web-main-section">
+		</div>
+		<div class="web-side-section">
+			<h4>Get Updates</h4>
+			<input name="blog-subscribe">
+			<button class="btn" id="blog-subscribe">Subscribe</button>
+		</div>
+		<div style="clear: both"></div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/page/blog/blog.js b/erpnext/website/page/blog/blog.js
new file mode 100644
index 0000000..f86e98d
--- /dev/null
+++ b/erpnext/website/page/blog/blog.js
@@ -0,0 +1,39 @@
+wn.require('lib/js/lib/prettydate.js')
+
+pscript.onload_blog = function(wrapper) {
+	wrapper.blog_list = new wn.widgets.Listing({
+		parent: $(wrapper).find('.web-main-section').get(0),
+		query: 'select tabBlog.name, title, left(content, 300) as content, tabBlog.modified, \
+			ifnull(first_name, "") as first_name, ifnull(last_name, "") as last_name \
+			from tabProfile, tabBlog\
+		 	where ifnull(published,1)=1 and tabBlog.owner = tabProfile.name',
+		hide_refresh: true,
+		render_row: function(parent, data) {
+			if(data.content.length==300) data.content += '...';
+			data.date = prettyDate(data.modified);
+			parent.innerHTML = repl('<h4><a href="#!%(name)s">%(title)s</a></h4>\
+				<div class="help">By %(first_name)s %(last_name)s on %(date)s</div>\
+				<p><div class="comment">%(content)s</div></p><br>', data);
+		},
+		page_length: 10
+	});
+	wrapper.blog_list.run();
+	
+	// subscribe button
+	$('#blog-subscribe').click(function() {
+		var email = $(wrapper).find('input[name="blog-subscribe"]').val();
+		if(!validate_email(email)) {
+			msgprint('Please enter a valid email!');
+		}
+		wn.call({
+			module:'website',
+			page:'blog',
+			method:'subscribe',
+			args:email,
+			btn: this,
+			callback: function() {
+				$(wrapper).find('input[name="blog-subscribe"]').val('');
+			}
+		});		
+	})
+}
\ No newline at end of file
diff --git a/erpnext/website/page/blog/blog.py b/erpnext/website/page/blog/blog.py
new file mode 100644
index 0000000..6e7a62e
--- /dev/null
+++ b/erpnext/website/page/blog/blog.py
@@ -0,0 +1,11 @@
+import webnotes
+def subscribe(arg):
+	"""subscribe to blog (blog_subscriber)"""
+	if webnotes.conn.sql("""select name from `tabBlog Subscriber` where name=%s""", arg):
+		webnotes.msgprint("Already a subscriber. Thanks!")
+	else:
+		from webnotes.model.doc import Document
+		d = Document('Blog Subscriber')
+		d.name = arg
+		d.save()
+		webnotes.msgprint("Thank you for subscribing!")
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/__init__.py b/erpnext/website/page/unsubscribe/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/__init__.py
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.html b/erpnext/website/page/unsubscribe/unsubscribe.html
new file mode 100644
index 0000000..7b2b68e
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.html
@@ -0,0 +1,13 @@
+<div class="layout_wrapper">
+	<div class="web-content">
+		<h1>Unsubscribe</h1>
+		<br>
+		<div class="web-main-section">
+			<input name="unsubscribe">
+			<button class="btn" id="btn-unsubscribe">Unsubscribe</button>
+		</div>
+		<div class="web-side-section">
+		</div>
+		<div style="clear: both"></div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.js b/erpnext/website/page/unsubscribe/unsubscribe.js
new file mode 100644
index 0000000..7cbed37
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.js
@@ -0,0 +1,21 @@
+pscript.onload_unsubscribe = function(wrapper) {
+	var email = window.location.hash.split('/').splice(-1);
+	$(wrapper).find('input[name="unsubscribe"]').val(email)
+	
+	$('#btn-unsubscribe').click(function() {
+		var email = $(wrapper).find('input[name="unsubscribe"]').val();
+		if(email) {
+			var btn = this;
+			wn.call({
+				module:'website',
+				page:'unsubscribe',
+				method:'unsubscribe',
+				args:email,
+				btn: this,
+				callback: function() {
+					$(wrapper).find('input[name="unsubscribe"]').val('');
+				}
+			});
+		}
+	});
+}
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.py b/erpnext/website/page/unsubscribe/unsubscribe.py
new file mode 100644
index 0000000..57d1d47
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.py
@@ -0,0 +1,8 @@
+def unsubscribe(arg):
+	"""unsubscribe from lists"""
+	import webnotes
+	lists = [['Blog Subscriber', 'name']]
+	for l in lists:
+		webnotes.conn.sql("""delete from `tab%s` where %s=%s""" % (l[0], l[1], '%s'), arg)
+		
+	webnotes.msgprint('Unsubscribed!')
\ No newline at end of file
diff --git a/erpnext/website/page/unsubscribe/unsubscribe.txt b/erpnext/website/page/unsubscribe/unsubscribe.txt
new file mode 100644
index 0000000..2cc3b58
--- /dev/null
+++ b/erpnext/website/page/unsubscribe/unsubscribe.txt
@@ -0,0 +1,43 @@
+# Page, unsubscribe
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-27 17:19:02',
+		'docstatus': 0,
+		'modified': '2012-01-27 17:19:02',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all Page
+	{
+		'doctype': 'Page',
+		'module': 'Website',
+		'name': '__common__',
+		'page_name': 'unsubscribe',
+		'standard': 'Yes',
+		'title': 'Unsubscribe'
+	},
+
+	# These values are common for all Page Role
+	{
+		'doctype': 'Page Role',
+		'name': '__common__',
+		'parent': 'unsubscribe',
+		'parentfield': 'roles',
+		'parenttype': 'Page',
+		'role': 'Guest'
+	},
+
+	# Page, unsubscribe
+	{
+		'doctype': 'Page',
+		'name': 'unsubscribe'
+	},
+
+	# Page Role
+	{
+		'doctype': 'Page Role'
+	}
+]
\ No newline at end of file
