diff --git a/home/page/attributions/attributions.html b/home/page/attributions/attributions.html
index 07da9fd..2d08c79 100644
--- a/home/page/attributions/attributions.html
+++ b/home/page/attributions/attributions.html
@@ -27,6 +27,10 @@
 			<td>The Number One HTTP Server On The Internet.</td>
 		</tr>
 		<tr>
+			<td><a href="http://memcached.org/">Memcached</a></td>
+			<td>Free & open source, high-performance, distributed memory object caching system.</td>
+		</tr>
+		<tr>
 			<td><a href="http://python.org/">Python Programming Language</a></td>
 			<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
 			<ul>
diff --git a/website/doctype/blog_post/blog_post.py b/website/doctype/blog_post/blog_post.py
index 1664b4f..ff6cc99 100644
--- a/website/doctype/blog_post/blog_post.py
+++ b/website/doctype/blog_post/blog_post.py
@@ -74,13 +74,15 @@
 		# temp fields
 		from webnotes.utils import global_date_format, get_fullname
 		self.doc.full_name = get_fullname(self.doc.owner)
-		self.doc.updated = global_date_format(self.doc.creation)
+		self.doc.updated = global_date_format(self.doc.published_on)
 		self.doc.content_html = self.doc.content
 		if self.doc.blogger:
 			self.doc.blogger_info = webnotes.doc("Blogger", self.doc.blogger).fields
 			if self.doc.blogger_info.avatar and not "/" in self.doc.blogger_info.avatar:
 				self.doc.blogger_info.avatar = "files/" + self.doc.blogger_info.avatar
 		
+		self.doc.description = self.doc.blog_intro or self.doc.content[:140]
+		
 		self.doc.categories = webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
 		
 		self.doc.texts = {
diff --git a/website/doctype/blog_settings/__init__.py b/website/doctype/blog_settings/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/website/doctype/blog_settings/__init__.py
diff --git a/website/doctype/blog_settings/blog_settings.py b/website/doctype/blog_settings/blog_settings.py
new file mode 100644
index 0000000..928aa9f
--- /dev/null
+++ b/website/doctype/blog_settings/blog_settings.py
@@ -0,0 +1,8 @@
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+class DocType:
+	def __init__(self, d, dl):
+		self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/website/doctype/blog_settings/blog_settings.txt b/website/doctype/blog_settings/blog_settings.txt
new file mode 100644
index 0000000..09740eb
--- /dev/null
+++ b/website/doctype/blog_settings/blog_settings.txt
@@ -0,0 +1,61 @@
+[
+ {
+  "creation": "2013-03-11 17:48:16", 
+  "docstatus": 0, 
+  "modified": "2013-03-11 17:48:16", 
+  "modified_by": "Administrator", 
+  "owner": "Administrator"
+ }, 
+ {
+  "description": "Blog Settings", 
+  "doctype": "DocType", 
+  "issingle": 1, 
+  "module": "Website", 
+  "name": "__common__"
+ }, 
+ {
+  "doctype": "DocField", 
+  "name": "__common__", 
+  "parent": "Blog Settings", 
+  "parentfield": "fields", 
+  "parenttype": "DocType", 
+  "permlevel": 0
+ }, 
+ {
+  "create": 1, 
+  "doctype": "DocPerm", 
+  "name": "__common__", 
+  "parent": "Blog Settings", 
+  "parentfield": "permissions", 
+  "parenttype": "DocType", 
+  "permlevel": 0, 
+  "read": 1, 
+  "role": "Website Manager", 
+  "write": 1
+ }, 
+ {
+  "doctype": "DocType", 
+  "name": "Blog Settings"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "blog_title", 
+  "fieldtype": "Data", 
+  "label": "Blog Title"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "blog_introduction", 
+  "fieldtype": "Small Text", 
+  "label": "Blog Introduction"
+ }, 
+ {
+  "doctype": "DocField", 
+  "fieldname": "writers_introduction", 
+  "fieldtype": "Small Text", 
+  "label": "Writers Introduction"
+ }, 
+ {
+  "doctype": "DocPerm"
+ }
+]
\ No newline at end of file
diff --git a/website/doctype/style_settings/custom_template.css b/website/doctype/style_settings/custom_template.css
index 4925837..00c02bb 100644
--- a/website/doctype/style_settings/custom_template.css
+++ b/website/doctype/style_settings/custom_template.css
@@ -12,7 +12,7 @@
 	background-color: #edede7;
 {% endif %}	
 {% if doc.font or doc.google_web_font_for_text %}
-	font-family: '{{ doc.google_web_font_for_text or doc.font }}', Verdana, Sans !important;
+	font-family: '{{ doc.google_web_font_for_text or doc.font }}', 'Helvetica Neue', Arial, Sans !important;
 {% endif %}
 {% if doc.font_size %}
 	font-size: {{ doc.font_size }} !important;
@@ -31,7 +31,7 @@
 
 {% if doc.google_web_font_for_heading or doc.heading_font %}
 h1, h2, h3, h4, h5 {
-	font-family: '{{ doc.google_web_font_for_heading or doc.heading_font }}', Arial, 'Helvetica Neue' !important;
+	font-family: '{{ doc.google_web_font_for_heading or doc.heading_font }}', 'Helvetica Neue', Arial !important;
 }
 {% endif %}
 {% if doc.heading_text_style %}
@@ -64,20 +64,16 @@
 }
 
 .navbar-inverse .brand,
+.navbar-inverse .brand:hover,
+.navbar-inverse .brand:focus,
 .navbar-inverse .nav > li > a {
   color: #{{ doc.top_bar_foreground or "fff"}};
   text-shadow: none;
 }
 
-.navbar-inverse .brand:hover,
 .navbar-inverse .nav > li > a:hover,
-.navbar-inverse .brand:focus,
 .navbar-inverse .nav > li > a:focus {
-  color: #{{ doc.top_bar_background or "aaa"}};
-}
-
-.navbar-inverse .brand {
-  color: #{{ doc.top_bar_foreground or "fff"}};
+  color: #{{ doc.top_bar_background or "000"}};
 }
 
 .navbar-inverse .navbar-text {
diff --git a/website/doctype/style_settings/style_settings.py b/website/doctype/style_settings/style_settings.py
index 434f4b5..ba003ae 100644
--- a/website/doctype/style_settings/style_settings.py
+++ b/website/doctype/style_settings/style_settings.py
@@ -39,6 +39,9 @@
 		
 		from webnotes.sessions import clear_cache
 		clear_cache('Guest')
+
+		from website.utils import clear_cache
+		clear_cache()
 		
 		for f in ["small_font_size", "at_import", "heading_text_style"]:
 			if f in self.doc.fields:
diff --git a/website/doctype/web_page/web_page.txt b/website/doctype/web_page/web_page.txt
index 861ac86..eed7d2b 100644
--- a/website/doctype/web_page/web_page.txt
+++ b/website/doctype/web_page/web_page.txt
@@ -1,8 +1,8 @@
 [
  {
-  "creation": "2013-01-27 16:31:21", 
+  "creation": "2013-02-12 13:19:11", 
   "docstatus": 0, 
-  "modified": "2013-02-12 09:33:47", 
+  "modified": "2013-03-11 17:41:11", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -24,18 +24,16 @@
   "permlevel": 0
  }, 
  {
-  "create": 1, 
+  "amend": 0, 
   "doctype": "DocPerm", 
   "name": "__common__", 
   "parent": "Web Page", 
   "parentfield": "permissions", 
   "parenttype": "DocType", 
-  "permlevel": 0, 
   "read": 1, 
   "report": 1, 
   "role": "Website Manager", 
-  "submit": 0, 
-  "write": 1
+  "submit": 0
  }, 
  {
   "doctype": "DocType", 
@@ -86,6 +84,13 @@
   "options": "Website Slideshow"
  }, 
  {
+  "description": "Description for page header.", 
+  "doctype": "DocField", 
+  "fieldname": "description", 
+  "fieldtype": "Small Text", 
+  "label": "Description"
+ }, 
+ {
   "description": "Content in markdown format that appears on the main side of your page", 
   "doctype": "DocField", 
   "fieldname": "main_section", 
@@ -143,6 +148,17 @@
   "print_hide": 1
  }, 
  {
-  "doctype": "DocPerm"
+  "cancel": 1, 
+  "create": 1, 
+  "doctype": "DocPerm", 
+  "permlevel": 0, 
+  "write": 1
+ }, 
+ {
+  "cancel": 0, 
+  "create": 0, 
+  "doctype": "DocPerm", 
+  "permlevel": 1, 
+  "write": 0
  }
 ]
\ No newline at end of file
diff --git a/website/helpers/blog.py b/website/helpers/blog.py
index ec57105..5ee3451 100644
--- a/website/helpers/blog.py
+++ b/website/helpers/blog.py
@@ -99,10 +99,8 @@
 	return comment_html
 
 @webnotes.whitelist(allow_guest=True)
-def add_subscriber():
+def add_subscriber(name, email_id):
 	"""add blog subscriber to lead"""
-	full_name = webnotes.form_dict.get('your_name')
-	email = webnotes.form_dict.get('your_email_address')
 	name = webnotes.conn.sql("""select name from tabLead where email_id=%s""", email)
 	
 	from webnotes.model.doc import Document
@@ -114,22 +112,23 @@
 	if not lead.source: lead.source = 'Blog'
 	lead.unsubscribed = 0
 	lead.blog_subscriber = 1
-	lead.lead_name = full_name
+	lead.lead_name = name
 	lead.email_id = email
 	lead.save()
-		
+
 def get_blog_content(blog_page_name):
 	import website.utils
 	content = website.utils.get_html(blog_page_name)
-	content = split_blog_content(content)
 	import webnotes.utils
 	content = webnotes.utils.escape_html(content)
 	return content
 
 def get_blog_template_args():
-	return {
+	args = {
 		"categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
 	}
+	args.update(webnotes.doc("Blog Settings", "Blog Settings").fields)
+	return args
 	
 def get_writers_args():
 	bloggers = webnotes.conn.sql("""select * from `tabBlogger` 
@@ -138,10 +137,13 @@
 		if blogger.avatar and not "/" in blogger.avatar:
 			blogger.avatar = "files/" + blogger.avatar
 		
-	return {
+	args = {
 		"bloggers": bloggers,
 		"texts": {
 			"all_posts_by": _("All posts by")
 		},
 		"categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name")
-	}
\ No newline at end of file
+	}
+	
+	args.update(webnotes.doc("Blog Settings", "Blog Settings").fields)
+	return args
\ No newline at end of file
diff --git a/website/helpers/blog_feed.py b/website/helpers/blog_feed.py
index 19fc5d8..c59a419 100644
--- a/website/helpers/blog_feed.py
+++ b/website/helpers/blog_feed.py
@@ -59,7 +59,7 @@
 	blog_list = webnotes.conn.sql("""\
 		select page_name as name, modified, creation, title from `tabBlog Post` 
 		where ifnull(published,0)=1
-		order by creation desc, modified desc, name asc limit 100""", as_dict=1)
+		order by creation desc, modified desc, name asc limit 20""", as_dict=1)
 
 	for blog in blog_list:
 		blog.link = host + '/' + blog.name + '.html'
diff --git a/website/page/website_home/website_home.js b/website/page/website_home/website_home.js
index bb3d14f..e112207 100644
--- a/website/page/website_home/website_home.js
+++ b/website/page/website_home/website_home.js
@@ -37,6 +37,12 @@
 				description: wn._("Categorize blog posts."),
 				doctype:"Blog Category"
 			},
+			{
+				label: wn._("Blog Settings"),
+				description: wn._("Write titles and introductions to your blog."),
+				doctype:"Blog Settings",
+				route: "Form/Blog Settings"
+			},
 		]
 	},
 
diff --git a/website/templates/html/base.html b/website/templates/html/base.html
index fa01f8a..2719f8d 100644
--- a/website/templates/html/base.html
+++ b/website/templates/html/base.html
@@ -19,6 +19,9 @@
 	<link rel="icon" href="app/images/favicon.ico" type="image/x-icon">
 	{% endif %}
 	
+	{% if description %}
+	<meta name="description" content="{{ description }}">	
+	{% endif %}
 	
 	{% block header %}
 	{% endblock %}
diff --git a/website/templates/html/blog_page.html b/website/templates/html/blog_page.html
index e605a12..270d427 100644
--- a/website/templates/html/blog_page.html
+++ b/website/templates/html/blog_page.html
@@ -9,14 +9,17 @@
 {% endblock %}
 
 {% block content %}
-<div class="span12">
-	<h2>{{ title }}</h2>
+<div class="span12" itemscope itemtype="http://schema.org/BlogPost">
+	<h2 itemprop="name headline">{{ title }}</h2>
 
 	<!-- begin blog content -->
 	<div class="help" style="color: #aaa">
-		{{ blogger_info and blogger_info.full_name or full_name }} / {{ updated }}</div>
+		<span itemprop="author">{{ blogger_info and blogger_info.full_name or full_name }}</span> / 
+		<span itemprop="dateCreated">{{ updated }}</span></div>
 	<br>
+	<div itemprop="articleBody">
 	{{ content_html }}
+	</div>
 	<!-- end blog content -->
 	{% if blogger_info %}
 	<hr />
diff --git a/website/templates/html/blogger.html b/website/templates/html/blogger.html
index eab371e..e18f86a 100644
--- a/website/templates/html/blogger.html
+++ b/website/templates/html/blogger.html
@@ -1,7 +1,7 @@
 <div class="row">
 	<div class="span2">
 		<div class="avatar avatar-large">
-			<img src="{{ blogger_info.avatar }}" />
+			<img itemprop="thumbnailUrl" src="{{ blogger_info.avatar }}" />
 		</div>
 	</div>
 	<div class="span10">
diff --git a/website/templates/html/comment.html b/website/templates/html/comment.html
index 1323e09..27baaad 100644
--- a/website/templates/html/comment.html
+++ b/website/templates/html/comment.html
@@ -3,12 +3,15 @@
 	it is to be included in the blog/blog.html template
 #}
 
-{% for comment in comment_list %}
-<div class="comment-row">
-	<div class="comment-title">
-		{{ comment.comment_by_fullname }} - {{ comment.comment_date }}:
+<div itemscope itemtype="http://schema.org/UserComments">
+	{% for comment in comment_list %}
+	<div class="comment-row">
+		<div class="comment-title">
+			<span itemprop="name" class="author">{{ comment.comment_by_fullname }}</span> / 
+				<span itemprop="commentTime">{{ comment.comment_date }}</span>:
+		</div>
+		<p class="comment-content" itemprop="commentText">{{ comment.comment }}</p>
+		<hr>
 	</div>
-	<p class="comment-content">{{ comment.comment }}</p>
-	<hr>
-</div>
-{% endfor %}
\ No newline at end of file
+	{% endfor %}
+</div>
\ No newline at end of file
diff --git a/website/templates/html/footer.html b/website/templates/html/footer.html
new file mode 100644
index 0000000..19aeabe
--- /dev/null
+++ b/website/templates/html/footer.html
@@ -0,0 +1,66 @@
+<footer class="container"><div class="web-footer">
+	{% if facebook_share or google_plus_one or twitter_share or linked_in_share %}
+	<div class="social-icons" style="">
+		<span style="font-size: 11px;">{{ share_text or "Share this page on: "}}</span>
+		{% if google_plus_one %}
+			<a href="https://plus.google.com/share?url={{ url }}"
+			 	target="_blank"><i class="icon-google-plus"></i></a>
+		{% endif %}
+		{% if twitter_share %}
+			<a href="https://twitter.com/intent/tweet?url={{ url }}&text={{ encoded_title }}"
+				target="_blank" ><i class="icon-twitter"></i></a>
+		{% endif %}
+		{% if facebook_share %}
+			<a href="https://www.facebook.com/sharer.php?u={{ url }}&t={{ encoded_title }}&via={{ twitter_share_via }}"
+				target="_blank"><i class="icon-facebook"></i></a>
+		{% endif %}
+		{% if linked_in_share %}
+			<a href="http://www.linkedin.com/shareArticle?mini=true&url={{ url }}&title={{ encoded_title }}"
+				target="_blank"><i class="icon-linkedin"></i></a>
+		{% endif %}
+	</div>
+	{% endif %}
+	<p style="float: right; clear: right;">
+		<a style="font-size: 90%; color: #888;" href="attributions">ERPNext Powered</a>
+	</p>
+	<div class="web-footer-menu">
+	<ul>
+		{% for item in footer_items %}
+		<li><a href="{{ item.url }}" {{ item.target }}
+			data-label="{{ item.label }}">{{ item.label }}</a></li>
+		{% endfor %}
+	</ul>
+	</div>
+	{% if copyright %}
+	<div class="web-footer-copyright">&copy; {{ copyright }}</div>
+	{% endif %}
+	{% if address %}
+	{{ address }}
+	{% endif %}
+	<p><div class="input-append" style="text-align: center; margin:30px 0px;">
+	  <input class="span3" id="footer-subscribe-email" type="text" placeholder="Your email address...">
+	  <button class="btn" type="button" id="footer-subscribe-button">Stay Updated</button>
+	</div></p>
+	<script>
+		$("#footer-subscribe-button").click(function() {
+			if($("#footer-subscribe-email").val()) {
+				erpnext.send_message({
+					subject:"Subscribe me",
+					sender: $("#footer-subscribe-email").val(),
+					message: "Subscribe to newsletter (via website footer).",
+					callback: function(r) {
+						console.log(r)
+						if(!r.exc) {
+							$("#footer-subscribe-email").val("").attr('disabled', true);
+							$("#footer-subscribe-button").html("Thank You :)")
+								.addClass("btn-success").attr("disabled", true);
+						} else {
+							$("#footer-subscribe-button").html("Error :( Not a valid id?").addClass("btn-danger");
+						}
+					}
+				});
+			}
+		});
+	</script>
+	</div>
+</footer>
diff --git a/website/templates/html/navbar.html b/website/templates/html/navbar.html
new file mode 100644
index 0000000..5a30c6a
--- /dev/null
+++ b/website/templates/html/navbar.html
@@ -0,0 +1,57 @@
+<div class="navbar{% if top_bar_background=="Black" %} navbar-inverse{% endif %}" 
+	style="">
+	<div class="navbar-inner">
+		<a class="brand" href="index">{{ brand_html }}</a>
+		<div class="container">
+			<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+				<span class="icon-bar"></span>
+			</button>
+			<div class="nav-collapse collapse">
+				<ul class="nav">
+					{% for page in top_bar_items %}
+						{% if not page.parent_label %}
+						<li data-label="{{ page.label }}"
+							{% if page.child_items %}
+								class="dropdown"
+							{% endif %}>
+							<a href="{{ page.url or '#' }}" 
+								{% if page.child_items %}
+									class="dropdown-toggle"
+									onclick="return false;"
+									data-toggle="dropdown"
+								{% endif %}
+								{{ page.target or ''}}>
+							{{ page.label }}
+							{% if page.child_items %}
+								<b class="caret"></b>
+							</a>
+								<ul class="dropdown-menu">
+								{% for child in page.child_items %}
+									<li data-label="{{ child.label }}">
+										<a {% if child.indent %}
+											style="padding-left: 
+												{{(int(child.indent)+1)*15 }}px"
+										{% endif %}
+										href="{{ child.url }}" {{ child.target or '' }}>
+											{{ child.label }}
+										</a>
+									</li>
+								{% endfor %}
+								</ul>
+							{% else %}
+							</a>
+							{% endif %}
+							</li>
+						{% endif %}
+					{% endfor %}
+				</ul>
+				<ul class="nav pull-right">
+					<li id="login-topbar-item"><a href="login">Login</a></li>
+				</ul>
+			</div>
+		</div>
+	</div>
+</div>
+<script>$('.dropdown-toggle').dropdown()</script>
diff --git a/website/templates/html/outer.html b/website/templates/html/outer.html
index e582d0a..9c8cd9f 100644
--- a/website/templates/html/outer.html
+++ b/website/templates/html/outer.html
@@ -5,106 +5,13 @@
 	</header>
 	<div class="container">
 		<div class="outer">
-			<div class="navbar{% if top_bar_background=="Black" %} navbar-inverse{% endif %}" 
-				style="">
-				<div class="navbar-inner">
-					<a class="brand" href="index">{{ brand_html }}</a>
-					<div class="container">
-						<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						</button>
-						<div class="nav-collapse collapse">
-							<ul class="nav">
-								{% for page in top_bar_items %}
-									{% if not page.parent_label %}
-									<li data-label="{{ page.label }}"
-										{% if page.child_items %}
-											class="dropdown"
-										{% endif %}>
-										<a href="{{ page.url or '#' }}" 
-											{% if page.child_items %}
-												class="dropdown-toggle"
-												onclick="return false;"
-												data-toggle="dropdown"
-											{% endif %}
-											{{ page.target or ''}}>
-										{{ page.label }}
-										{% if page.child_items %}
-											<b class="caret"></b>
-										</a>
-											<ul class="dropdown-menu">
-											{% for child in page.child_items %}
-												<li data-label="{{ child.label }}">
-													<a {% if child.indent %}
-														style="padding-left: 
-															{{(int(child.indent)+1)*15 }}px"
-													{% endif %}
-													href="{{ child.url }}" {{ child.target or '' }}>
-														{{ child.label }}
-													</a>
-												</li>
-											{% endfor %}
-											</ul>
-										{% else %}
-										</a>
-										{% endif %}
-										</li>
-									{% endif %}
-								{% endfor %}
-							</ul>
-							<ul class="nav pull-right">
-								<li id="login-topbar-item"><a href="login">Login</a></li>
-							</ul>
-						</div>
-					</div>
-				</div>
-			</div>
-			<script>$('.dropdown-toggle').dropdown()</script>
+			{% include "html/navbar.html" %}
 			<div class="content row" id="page-{{ name }}" style="display: block;">
 			{% block content %}
 			{% endblock %}
 			</div>
 		</div>
 	</div>
-	<footer class="container"><div class="web-footer">
-		{% if facebook_share or google_plus_one or twitter_share or linked_in_share %}
-		<div class="social-icons" style="">
-			<span style="font-size: 11px;">{{ share_text or "Share this page on: "}}</span>
-			{% if google_plus_one %}
-				<a href="https://plus.google.com/share?url={{ url }}"
-				 	target="_blank"><i class="icon-google-plus"></i></a>
-			{% endif %}
-			{% if twitter_share %}
-				<a href="https://twitter.com/intent/tweet?url={{ url }}&text={{ encoded_title }}"
-					target="_blank" ><i class="icon-twitter"></i></a>
-			{% endif %}
-			{% if facebook_share %}
-				<a href="https://www.facebook.com/sharer.php?u={{ url }}&t={{ encoded_title }}&via={{ twitter_share_via }}"
-					target="_blank"><i class="icon-facebook"></i></a>
-			{% endif %}
-			{% if linked_in_share %}
-				<a href="http://www.linkedin.com/shareArticle?mini=true&url={{ url }}&title={{ encoded_title }}"
-					target="_blank"><i class="icon-linkedin"></i></a>
-			{% endif %}
-		</div>
-		{% endif %}
-		<p style="float: right; clear: right;">
-			<a style="font-size: 90%; color: #888;" href="attributions">ERPNext Powered</a></p>
-		<div class="web-footer-menu"><ul>
-		{% for item in footer_items %}
-			<li><a href="{{ item.url }}" {{ item.target }}
-				data-label="{{ item.label }}">{{ item.label }}</a></li>
-		{% endfor %}
-		</ul></div>
-		{% if copyright %}
-		<div class="web-footer-copyright">&copy; {{ copyright }}</div>
-		{% endif %}
-		{% if address %}
-		{{ address }}
-		{% endif %}
-		</div>
-	</footer>
+	{% include "html/footer.html" %}
 
 {% endblock %}
\ No newline at end of file
diff --git a/website/templates/html/slideshow.html b/website/templates/html/slideshow.html
index 8641724..e0e9038 100644
--- a/website/templates/html/slideshow.html
+++ b/website/templates/html/slideshow.html
@@ -5,10 +5,12 @@
 		{% for slide in obj.slides %}
 		<div class="{% if slide.idx==1 %}active {% endif %}item">
 			<img src="{{ slide.image }}" />
+			{% if slide.heading or slide.description %}
 			<div class="carousel-caption">
-				<h4>{{ slide.heading }}</h4>
-				<p>{{ slide.description }}</p>
+				{% if slide.heading %}<h4>{{ slide.heading }}</h4>{% endif %}
+				{% if slide.heading %}<p>{{ slide.description }}</p>{% endif %}
 			</div>
+			{% endif %}
 		</div>
 		{% endfor %}
 	</div>
diff --git a/website/templates/js/blog.js b/website/templates/js/blog.js
index 3cfb234..61e1b65 100644
--- a/website/templates/js/blog.js
+++ b/website/templates/js/blog.js
@@ -25,11 +25,11 @@
 	})
 	
 	if(get_url_arg("by_name")) {
-		$("#blog-title").html("Posts by " + get_url_arg("by_name"));
+		$("#blot-subtitle").html("Posts by " + get_url_arg("by_name")).toggle(true);
 	}
 
 	if(get_url_arg("category")) {
-		$("#blog-title").html("Posts filed under " + get_url_arg("category"));
+		$("#blot-subtitle").html("Posts filed under " + get_url_arg("category")).toggle(true);
 	}
 
 });
@@ -48,6 +48,7 @@
 			},
 			dataType: "json",
 			success: function(data) {
+				$(".progress").toggle(false);
 				if(data.exc) console.log(data.exc);
 				blog.render(data.message);
 			}
@@ -81,10 +82,10 @@
 				</div><hr>', b)).appendTo($wrap);
 		});
 		blog.start += (data.length || 0);
-		if(!data.length) {
+		if(!data.length || data.length < 20) {
 			if(blog.start) {
 				$("#next-page").toggle(false)
-					.parent().append("<div class='alert'>Nothing more to show.</div>");	
+					.parent().append("<div class='alert alert-info'>Nothing more to show.</div>");	
 			} else {
 				$("#next-page").toggle(false)
 					.parent().append("<div class='alert'>No blogs written yet.</div>");	
diff --git a/website/templates/pages/attributions.html b/website/templates/pages/attributions.html
index 2d195ba..9e4b50d 100644
--- a/website/templates/pages/attributions.html
+++ b/website/templates/pages/attributions.html
@@ -12,7 +12,7 @@
 
 {% block content %}
 <div class="layout-attributions span12">
-	<h3>This website is made using these Awesome Open Source Projects <i class="icon-heart" style="color: red"></i></h3>
+	<h3>This website is made using these awesome Open Source projects <i class="icon-heart" style="color: red"></i></h3>
 	<hr>
 	<table class="table table-bordered table-striped">
 		<tbody>
@@ -38,6 +38,10 @@
 			<td>The Number One HTTP Server On The Internet.</td>
 		</tr>
 		<tr>
+			<td><a href="http://memcached.org/">Memcached</a></td>
+			<td>Free & open source, high-performance, distributed memory object caching system.</td>
+		</tr>
+		<tr>
 			<td><a href="http://python.org/">Python Programming Language</a></td>
 			<td>The "batteries included" language that lets you write elegant code, quickly.<br><br>Python Libraries:
 			<ul>
@@ -81,6 +85,10 @@
 			<td>A lightning fast JavaScript grid/spreadsheet.</td>
 		</tr>		
 		<tr>
+			<td><a href="http://arshaw.com/fullcalendar/">FullCalendar</a></td>
+			<td>FullCalendar is a jQuery plugin that provides a full-sized, drag and drop calendar.</td>
+		</tr>
+		<tr>
 			<td><a href="http://www.flotcharts.org/">Flot Charting Library</a></td>
 			<td>Attractive JavaScript plotting for jQuery.</td>
 		</tr>		
@@ -97,12 +105,36 @@
 			<td>HTML/Javascript Color Picker.</td>
 		</tr>
 		<tr>
+			<td><a href="http://qunitjs.com/">QUnit</a></td>
+			<td>A JavaScript Unit Testing framework.</td>
+		</tr>
+		<tr>
 			<td><a href="https://github.com/dcneiner/Downloadify">Downloadify - Flash Download Widget</a></td>
 			<td>A tiny javascript + Flash library that enables the creation and download of text files without server interaction.</td>
 		</tr>				
 		</tbody>
 	</table>
+	
+	<hr>
+	<h3>ERPNext License: GNU/General Public License</h3>
+	<div class="well">
+	<p><b>ERPNext - Open Source, web based ERP</b></p>
+	<p>Copyright &copy; 2012, Web Notes Technologies Pvt Ltd, India</p>
 
-	<p class="alert">Note: A link to this page must be easily accessible.</p>
+	<p>This program is free software: you can redistribute it and/or modify
+	    it under the terms of the <b>GNU General Public License</b> as published by
+	    the Free Software Foundation, either version 3 of the License, or
+	    (at your option) any later version.</p>
+
+	    <p>This program is distributed in the hope that it will be useful,
+	    but WITHOUT ANY WARRANTY; without even the implied warranty of
+	    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+	    GNU General Public License for more details.</p>
+
+ 		<p>For complete license see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a></p>
+	</div>
+	<p class="alert">Note: A link to this page must be easily accessible and all other ERPNext branding must remain as it is.</p>
+	<hr>
+	<p>For more information please write to us at support@erpnext.com</p>
 </div>
 {% endblock %}
\ No newline at end of file
diff --git a/website/templates/pages/blog.html b/website/templates/pages/blog.html
index 05302c6..df258e1 100644
--- a/website/templates/pages/blog.html
+++ b/website/templates/pages/blog.html
@@ -12,8 +12,15 @@
 
 {% block content %}
 <div class="span12">
-	<h2 id="blog-title">Blog</h2>
+	<h2 id="blog-title">{{ blog_title }}</h2>
+	{% if blog_introduction %}
+	<p>{{ blog_introduction }}</p>
+	{% endif %}
+	<h3 id="blot-subtitle" style="display:none;"></h3>
 	<br>
+	<div class="progress progress-striped active">
+		<div class="bar" style="width: 100%;"></div>
+	</div>
 	<div id="blog-list">
 		<!-- blog list will be generated dynamically -->
 	</div>
diff --git a/website/templates/pages/writers.html b/website/templates/pages/writers.html
index 0ae8549..bba3749 100644
--- a/website/templates/pages/writers.html
+++ b/website/templates/pages/writers.html
@@ -5,6 +5,9 @@
 {% block content %}
 <div class="span12">
 	<h2 id="blog-title">Blog Writers</h2>
+	{% if writers_introduction %}
+	<p>{{ writers_introduction }}</p>
+	{% endif %}
 	<hr>
 	{% for blogger_info in bloggers %}
 	{% include "html/blogger.html" %}	
