diff --git a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
index 87d0373..e0b93c8 100644
--- a/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
+++ b/erpnext/accounts/doctype/receivable_voucher/receivable_voucher.py
@@ -11,7 +11,8 @@
 
 in_transaction = webnotes.conn.in_transaction
 convert_to_lists = webnotes.conn.convert_to_lists
-	
+session = webnotes.session
+
 # -----------------------------------------------------------------------------------------
 
 from utilities.transaction_base import TransactionBase
diff --git a/erpnext/erpnext_version.py b/erpnext/erpnext_version.py
deleted file mode 100644
index 48e45d5..0000000
--- a/erpnext/erpnext_version.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# version info
-
-version='1.0.0'
diff --git a/erpnext/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js
index 87c7f5c..078dfc2 100644
--- a/erpnext/home/page/event_updates/event_updates.js
+++ b/erpnext/home/page/event_updates/event_updates.js
@@ -212,7 +212,8 @@
 	var callback = function(r,rt) {
 		$(me.wrapper).slideUp();
 	}
-	$c_obj('Home Control',this.widget.delete_method, this.widget.get_item_id(this.det) ,callback);
+	$c_obj('Home Control',this.widget.delete_method, 
+		this.widget.get_item_id(this.det) ,callback);
 		
 }
 
@@ -324,7 +325,7 @@
 	this.widget.get_list_method = 'get_todo_list';
 	this.widget.delete_method = 'remove_todo_item';
 	this.widget.no_items_message = 'Nothing to do?';
-	this.widget.get_item_id = function(det) { return det[0]; }
+	this.widget.get_item_id = function(det) { return det.name; }
 
 	this.widget.decorator = this;
 
diff --git a/erpnext/patches/jan_mar_2012/website.py b/erpnext/patches/jan_mar_2012/website.py
index ad60cc5..ee1f251 100644
--- a/erpnext/patches/jan_mar_2012/website.py
+++ b/erpnext/patches/jan_mar_2012/website.py
@@ -1,9 +1,12 @@
 # website patch
 
 import webnotes
+from webnotes.model.doc import Document
+
 def execute():	
-	cleanup_file_data()
+	add_website_manager()
 	return
+	cleanup_file_data()
 	update_patch_log()
 	from webnotes.modules import reload_doc
 	reload_doc('website', 'Module Def', 'Website')
@@ -13,6 +16,17 @@
 	reload_doc('website', 'doctype', 'top_bar_item')
 	reload_doc('website', 'page', 'home')
 
+def add_website_manager():
+	"""add website manager to system manager"""
+	for i in webnotes.conn.sql("""select distinct parent from tabUserRole 
+		where role='System Manager'"""):
+		if not webnotes.conn.sql("""select parent from tabUserRole 
+			where role='Website Manager' and parent=%s""", i[0]):
+			d = Document('UserRole')
+			d.parent = i[0]
+			d.role = 'Website Manager'
+			d.save(1)
+
 def cleanup_file_data():
 	webnotes.conn.commit()
 	webnotes.conn.sql("""alter table `tabFile Data` drop column blob_content""")
diff --git a/erpnext/startup/modules.js b/erpnext/startup/modules.js
index 3dd7b3e..b5356d9 100644
--- a/erpnext/startup/modules.js
+++ b/erpnext/startup/modules.js
@@ -145,8 +145,10 @@
 		// page type
 		this.pointer.select();
 
-		$item_set_working(me.pointer.label_area);
-		loadpage(this.det.module_page, function() { $item_done_working(me.pointer.label_area); });
+		$(me.pointer.label_area).set_working();
+		loadpage(this.det.module_page, function() { 
+			$(me.pointer.label_area).done_working(); 
+		});
 
 	} else {
 		// show sub items
@@ -190,7 +192,7 @@
 	this.loading = 1;
 	var me = this;
 
-	$item_set_working(this.pointer.label_area);
+	$(this.pointer.label_area).set_working();
 	var callback = function(r,rt){
 		me.loaded = 1;
 		me.loading = 0;
@@ -199,7 +201,7 @@
 		var has_tools = 0;
 
 		// widget code
-		$item_done_working(me.pointer.label_area);
+		$(me.pointer.label_area).done_working();
 
 		if(r.message.il) {
 			me.il = r.message.il;
diff --git a/erpnext/startup/startup.css b/erpnext/startup/startup.css
index f7aff1c..24d3800 100644
--- a/erpnext/startup/startup.css
+++ b/erpnext/startup/startup.css
@@ -1,5 +1,5 @@
 h1, h2, h3, h4 {
-	font-family: Tahoma, Sans Serif;
+	font-family: Tahoma, Arial, Verdana, sans-serif;
 	font-weight: bold;
 }
 
diff --git a/erpnext/website/Module Def/Website/Website.txt b/erpnext/website/Module Def/Website/Website.txt
index 7e67c3c..1d5985b 100644
--- a/erpnext/website/Module Def/Website/Website.txt
+++ b/erpnext/website/Module Def/Website/Website.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2012-01-23 17:05:32',
 		'docstatus': 0,
-		'modified': '2012-01-24 15:57:51',
+		'modified': '2012-01-27 10:14:58',
 		'modified_by': 'Administrator',
 		'owner': 'Administrator'
 	},
@@ -21,6 +21,7 @@
 
 	# These values are common for all Module Def Item
 	{
+		'doc_type': 'Single DocType',
 		'doctype': 'Module Def Item',
 		'name': '__common__',
 		'parent': 'Website',
@@ -48,7 +49,6 @@
 	{
 		'display_name': 'Top Bar Settings',
 		'doc_name': 'Top Bar Settings',
-		'doc_type': 'Single DocType',
 		'doctype': 'Module Def Item'
 	},
 
@@ -56,7 +56,20 @@
 	{
 		'display_name': 'Home Settings',
 		'doc_name': 'Home Settings',
-		'doc_type': 'Forms',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'Contact Us Settings',
+		'doc_name': 'Contact Us Settings',
+		'doctype': 'Module Def Item'
+	},
+
+	# Module Def Item
+	{
+		'display_name': 'About Us Settings',
+		'doc_name': 'About Us Settings',
 		'doctype': 'Module Def Item'
 	},
 
diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css
index bdef882..5afb47d 100644
--- a/erpnext/website/css/website.css
+++ b/erpnext/website/css/website.css
@@ -8,6 +8,10 @@
 	margin: auto;
 }
 
+.web-content input[type="text"], .web-content input[type="password"], .web-content select {
+	min-width: 180px;
+}
+
 .web-main-section {
 	width: 65%;
 	float: left;
@@ -18,4 +22,7 @@
 	width: 30%;
 	float: right;
 	margin-bottom: 20px;
+	margin-right: 15px;
+	color: #606060;
+	overflow-x: hidden;
 }
\ No newline at end of file
diff --git a/erpnext/website/doctype/about_us_settings/__init__.py b/erpnext/website/doctype/about_us_settings/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/doctype/about_us_settings/__init__.py
diff --git a/erpnext/website/doctype/about_us_settings/about_us_settings.py b/erpnext/website/doctype/about_us_settings/about_us_settings.py
new file mode 100644
index 0000000..31a26ce
--- /dev/null
+++ b/erpnext/website/doctype/about_us_settings/about_us_settings.py
@@ -0,0 +1,23 @@
+"""
+generate html
+"""
+import webnotes
+
+class DocType:
+	def __init__(self, d, dl):
+		self.doc, self.doclist = d, dl
+		
+	def on_update(self):
+		"""make home html"""
+		from website.utils import make_template
+		import os
+		path = os.path.join(os.path.dirname(__file__), 'template.html')
+		
+		self.doc.about_team = webnotes.conn.sql("""select * from `tabAbout Us Team` 
+			where parent='About Us Settings'""", as_dict=1)
+		
+		import markdown2
+		for t in self.doc.about_team:
+			t['bio'] = markdown2.markdown(t['bio'])
+		
+		webnotes.conn.set_value('Page', 'about', 'content', make_template(self.doc, path))
diff --git a/erpnext/website/doctype/about_us_settings/about_us_settings.txt b/erpnext/website/doctype/about_us_settings/about_us_settings.txt
new file mode 100644
index 0000000..5ecae16
--- /dev/null
+++ b/erpnext/website/doctype/about_us_settings/about_us_settings.txt
@@ -0,0 +1,106 @@
+# DocType, About Us Settings
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-27 10:13:16',
+		'docstatus': 0,
+		'modified': '2012-01-27 11:36:44',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'_last_update': '1327641155',
+		'allow_attach': 1,
+		'colour': 'White:FFF',
+		'doctype': 'DocType',
+		'issingle': 1,
+		'max_attachments': 10,
+		'module': 'Website',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 0,
+		'version': 4
+	},
+
+	# These values are common for all DocField
+	{
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'About Us Settings',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0
+	},
+
+	# These values are common for all DocPerm
+	{
+		'create': 1,
+		'doctype': 'DocPerm',
+		'name': '__common__',
+		'parent': 'About Us Settings',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'read': 1,
+		'role': 'Website Manager',
+		'write': 1
+	},
+
+	# DocType, About Us Settings
+	{
+		'doctype': 'DocType',
+		'name': 'About Us Settings'
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'headline',
+		'fieldtype': 'Data',
+		'label': 'Headline'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'main_section',
+		'fieldtype': 'Code',
+		'label': 'Main Section'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'team',
+		'fieldtype': 'Table',
+		'label': 'Team',
+		'options': 'About Us Team'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'side_section',
+		'fieldtype': 'Code',
+		'label': 'Side Section'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'file_list',
+		'fieldtype': 'Text',
+		'hidden': 1,
+		'label': 'File List',
+		'no_copy': 1,
+		'print_hide': 1
+	}
+]
\ No newline at end of file
diff --git a/erpnext/website/doctype/about_us_settings/template.html b/erpnext/website/doctype/about_us_settings/template.html
new file mode 100644
index 0000000..21d6729
--- /dev/null
+++ b/erpnext/website/doctype/about_us_settings/template.html
@@ -0,0 +1,36 @@
+<div class="layout_wrapper">
+	<div class="web-content" id="content-contact-us">
+		{% if doc.headline %}
+			<h1>{{ doc.headline }}</h1>
+		{% endif %}
+		<div class="web-main-section">
+			{{ doc.main_section_html }}
+			
+			{% if doc.about_team %}
+				<h2>Team</h2>
+				<table style="width: 90%">
+					<tbody>
+						{% for p in doc.about_team %}
+							<tr>
+								<td style="width: 110px">
+									<img src="files/{{ p.image }}" 
+										style="width: 100px; margin-right: 10px; 
+											margin-bottom: 15px;" />
+								</td>
+								<td>
+									<h4>{{ p.person_name }}</h4>
+									<div class="comment">{{ p.designation }}</div>
+									<div style="margin-bottom: 15px">{{ p.bio }}</div>
+								</td>
+							</tr>
+						{% endfor %}
+					</tbody>
+				</table>
+			{% endif %}
+		</div>
+		<div class="web-side-section">
+			{{ doc.side_section_html }}
+		</div>
+		<div style="clear: both"></div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/doctype/about_us_team/__init__.py b/erpnext/website/doctype/about_us_team/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/doctype/about_us_team/__init__.py
diff --git a/erpnext/website/doctype/about_us_team/about_us_team.txt b/erpnext/website/doctype/about_us_team/about_us_team.txt
new file mode 100644
index 0000000..bbbf47d
--- /dev/null
+++ b/erpnext/website/doctype/about_us_team/about_us_team.txt
@@ -0,0 +1,74 @@
+# DocType, About Us Team
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-27 10:14:18',
+		'docstatus': 0,
+		'modified': '2012-01-27 11:54:18',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocType',
+		'istable': 1,
+		'module': 'Website',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 0,
+		'version': 5
+	},
+
+	# These values are common for all DocField
+	{
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'About Us Team',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0
+	},
+
+	# DocType, About Us Team
+	{
+		'doctype': 'DocType',
+		'name': 'About Us Team'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'person_name',
+		'fieldtype': 'Data',
+		'label': 'Person Name'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'designation',
+		'fieldtype': 'Data',
+		'label': 'Designation'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'image',
+		'fieldtype': 'Select',
+		'label': 'Image',
+		'options': 'attach_files:'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'bio',
+		'fieldtype': 'Text',
+		'label': 'Bio (markdown)',
+		'width': '300px'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/website/doctype/contact_us_settings/__init__.py b/erpnext/website/doctype/contact_us_settings/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/doctype/contact_us_settings/__init__.py
diff --git a/erpnext/website/doctype/contact_us_settings/contact_us_settings.py b/erpnext/website/doctype/contact_us_settings/contact_us_settings.py
new file mode 100644
index 0000000..65d50db
--- /dev/null
+++ b/erpnext/website/doctype/contact_us_settings/contact_us_settings.py
@@ -0,0 +1,16 @@
+"""
+generate html
+"""
+import webnotes
+
+class DocType:
+	def __init__(self, d, dl):
+		self.doc, self.doclist = d, dl
+		
+	def on_update(self):
+		"""make home html"""
+		from website.utils import make_template
+		import os
+		path = os.path.join(os.path.dirname(__file__), 'template.html')
+		
+		webnotes.conn.set_value('Page', 'contact', 'content', make_template(self.doc, path))
diff --git a/erpnext/website/doctype/contact_us_settings/contact_us_settings.txt b/erpnext/website/doctype/contact_us_settings/contact_us_settings.txt
new file mode 100644
index 0000000..ff43a0a
--- /dev/null
+++ b/erpnext/website/doctype/contact_us_settings/contact_us_settings.txt
@@ -0,0 +1,100 @@
+# DocType, Contact Us Settings
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-25 16:01:33',
+		'docstatus': 0,
+		'modified': '2012-01-25 16:01:33',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all DocType
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocType',
+		'document_type': 'Other',
+		'issingle': 1,
+		'module': 'Website',
+		'name': '__common__',
+		'section_style': 'Simple',
+		'show_in_menu': 0,
+		'version': 1
+	},
+
+	# These values are common for all DocField
+	{
+		'colour': 'White:FFF',
+		'doctype': 'DocField',
+		'name': '__common__',
+		'parent': 'Contact Us Settings',
+		'parentfield': 'fields',
+		'parenttype': 'DocType',
+		'permlevel': 0
+	},
+
+	# These values are common for all DocPerm
+	{
+		'create': 1,
+		'doctype': 'DocPerm',
+		'name': '__common__',
+		'parent': 'Contact Us Settings',
+		'parentfield': 'permissions',
+		'parenttype': 'DocType',
+		'permlevel': 0,
+		'read': 1,
+		'write': 1
+	},
+
+	# DocType, Contact Us Settings
+	{
+		'doctype': 'DocType',
+		'name': 'Contact Us Settings'
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm',
+		'role': 'Website Manager'
+	},
+
+	# DocPerm
+	{
+		'doctype': 'DocPerm',
+		'role': 'System Manager'
+	},
+
+	# DocField
+	{
+		'default': 'Contact Us',
+		'doctype': 'DocField',
+		'fieldname': 'headline',
+		'fieldtype': 'Data',
+		'label': 'Headline'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'send_email_notification',
+		'fieldtype': 'Check',
+		'label': 'Send Email Notification'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'main_section',
+		'fieldtype': 'Code',
+		'label': 'Main Section'
+	},
+
+	# DocField
+	{
+		'doctype': 'DocField',
+		'fieldname': 'side_section',
+		'fieldtype': 'Code',
+		'label': 'Side Section'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/website/doctype/contact_us_settings/template.html b/erpnext/website/doctype/contact_us_settings/template.html
new file mode 100644
index 0000000..6453784
--- /dev/null
+++ b/erpnext/website/doctype/contact_us_settings/template.html
@@ -0,0 +1,24 @@
+<div class="layout_wrapper">
+	<div class="web-content" id="content-contact-us">
+		{% if doc.headline %}
+			<h1>{{ doc.headline }}</h1>
+		{% endif %}
+		<div class="web-main-section">
+			<label>Your Name*</label>
+			<div><input name="contact-name" type="text"/></div>
+			<br>
+			<label>Email*</label>
+			<div><input name="contact-email" type="text"/></div>
+			<br>
+			<label>Message*</label>
+			<div><textarea name="contact-message" style="height: 200px"></textarea></div>
+			<br>
+			<div><button class="btn primary">Send</button></div>
+			{{ doc.main_section_html }}
+		</div>
+		<div class="web-side-section">
+			{{ doc.side_section_html }}
+		</div>
+		<div style="clear: both"></div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/doctype/home_settings/home_settings.py b/erpnext/website/doctype/home_settings/home_settings.py
index 3ceea16..520b810 100644
--- a/erpnext/website/doctype/home_settings/home_settings.py
+++ b/erpnext/website/doctype/home_settings/home_settings.py
@@ -1,6 +1,7 @@
 """
-generate home html
+generate html
 """
+import webnotes
 
 class DocType:
 	def __init__(self, d, dl):
@@ -8,19 +9,9 @@
 		
 	def on_update(self):
 		"""make home html"""
-		import os, jinja2, markdown2
-		import webnotes
+		from website.utils import make_template
+		import os
+		path = os.path.join(os.path.dirname(__file__), 'template.html')
 		
-		# markdown
-		self.doc.main_section_html = markdown2.markdown(self.doc.main_section or '', \
-			extras=["wiki-tables"])
-		self.doc.side_section_html = markdown2.markdown(self.doc.side_section or '', \
-			extras=["wiki-tables"])
-		
-		# write template
-		with open(os.path.join(os.path.dirname(__file__), 'template.html'), 'r') as f:
-			temp = jinja2.Template(f.read())
-		
-		html = temp.render(doc = self.doc.fields)
-		webnotes.conn.set_value('Page', 'Home', 'content', html)
+		webnotes.conn.set_value('Page', 'home', 'content', make_template(self.doc, path))
 		
\ No newline at end of file
diff --git a/erpnext/website/doctype/home_settings/template.html b/erpnext/website/doctype/home_settings/template.html
index 424489a..d43f1ef 100644
--- a/erpnext/website/doctype/home_settings/template.html
+++ b/erpnext/website/doctype/home_settings/template.html
@@ -1,5 +1,5 @@
 <div class="layout_wrapper">
-	<div id="content-home">
+	<div class="web-content" id="content-home">
 		{% if doc.headline %}
 			<h1>{{ doc.headline }}</h1>
 		{% endif %}
diff --git a/erpnext/website/page/about/__init__.py b/erpnext/website/page/about/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/about/__init__.py
diff --git a/erpnext/website/page/about/about.txt b/erpnext/website/page/about/about.txt
new file mode 100644
index 0000000..7e045de
--- /dev/null
+++ b/erpnext/website/page/about/about.txt
@@ -0,0 +1,42 @@
+# Page, about
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-27 11:37:57',
+		'docstatus': 0,
+		'modified': '2012-01-27 11:37:57',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all Page
+	{
+		'doctype': 'Page',
+		'module': 'Website',
+		'name': '__common__',
+		'page_name': 'about',
+		'standard': 'Yes'
+	},
+
+	# These values are common for all Page Role
+	{
+		'doctype': 'Page Role',
+		'name': '__common__',
+		'parent': 'about',
+		'parentfield': 'roles',
+		'parenttype': 'Page',
+		'role': 'Guest'
+	},
+
+	# Page, about
+	{
+		'doctype': 'Page',
+		'name': 'about'
+	},
+
+	# Page Role
+	{
+		'doctype': 'Page Role'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/website/page/contact/__init__.py b/erpnext/website/page/contact/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/contact/__init__.py
diff --git a/erpnext/website/page/contact/contact.js b/erpnext/website/page/contact/contact.js
new file mode 100644
index 0000000..e05023b
--- /dev/null
+++ b/erpnext/website/page/contact/contact.js
@@ -0,0 +1,30 @@
+pscript.onload_contact = function(wrapper) {
+	$('#content-contact-us .btn.primary').click(function() {
+		var me = this;
+		var args = {};
+		args.name = $('#content-contact-us [name="contact-name"]').val();
+		args.email = $('#content-contact-us [name="contact-email"]').val();
+		args.message = $('#content-contact-us [name="contact-message"]').val();
+		
+		if(!validate_email(args.email)) {
+			msgprint('Please enter a valid email id');
+			return;
+		}
+		
+		if(args.name && args.email && args.message) {
+			$(this).set_working();
+			$c_page('website', 'contact', 'send', args, function(r) {
+				$('#content-contact-us [name*="contact"]').val('');
+				$(me).done_working();
+			});
+		} else {
+			msgprint("Please enter info in all the fields.")
+		}
+	});
+	
+	$('#content-contact-us :input').keyup(function(ev) {
+		if(ev.which == 13) {
+			$('#content-contact-us .btn.primary').click();
+		}
+	});
+}
\ No newline at end of file
diff --git a/erpnext/website/page/contact/contact.py b/erpnext/website/page/contact/contact.py
new file mode 100644
index 0000000..a6566a9
--- /dev/null
+++ b/erpnext/website/page/contact/contact.py
@@ -0,0 +1,15 @@
+import json, webnotes
+
+def send(args):
+	"""create support ticket"""
+	args = json.loads(args)
+	
+	from webnotes.model.doc import Document
+	d = Document('Support Ticket')
+	d.raised_by = args['email']
+	d.description = 'From: ' + args['name'] + '\n\n' + args['message']
+	d.subject = 'Website Query'
+	d.status = 'Open'
+	d.owner = 'Guest'
+	d.save(1)
+	webnotes.msgprint("Thank you for your query. We will respond as soon as we can.")
\ No newline at end of file
diff --git a/erpnext/website/page/contact/contact.txt b/erpnext/website/page/contact/contact.txt
new file mode 100644
index 0000000..6051c6f
--- /dev/null
+++ b/erpnext/website/page/contact/contact.txt
@@ -0,0 +1,42 @@
+# Page, contact
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-01-25 16:02:15',
+		'docstatus': 0,
+		'modified': '2012-01-25 16:02:15',
+		'modified_by': 'Administrator',
+		'owner': 'Administrator'
+	},
+
+	# These values are common for all Page
+	{
+		'doctype': 'Page',
+		'module': 'Website',
+		'name': '__common__',
+		'page_name': 'contact',
+		'standard': 'Yes'
+	},
+
+	# These values are common for all Page Role
+	{
+		'doctype': 'Page Role',
+		'name': '__common__',
+		'parent': 'contact',
+		'parentfield': 'roles',
+		'parenttype': 'Page',
+		'role': 'Guest'
+	},
+
+	# Page, contact
+	{
+		'doctype': 'Page',
+		'name': 'contact'
+	},
+
+	# Page Role
+	{
+		'doctype': 'Page Role'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/website/utils.py b/erpnext/website/utils.py
new file mode 100644
index 0000000..e1802cb
--- /dev/null
+++ b/erpnext/website/utils.py
@@ -0,0 +1,14 @@
+def make_template(doc, path, convert_fields = ['main_section', 'side_section']):
+	"""make template"""
+	import os, jinja2, markdown2
+	
+	# markdown
+	for f in convert_fields:
+		doc.fields[f + '_html'] = markdown2.markdown(doc.fields[f] or '', \
+			extras=["wiki-tables"])
+	
+	# write template
+	with open(path, 'r') as f:
+		temp = jinja2.Template(f.read())
+	
+	return temp.render(doc = doc.fields)	
\ No newline at end of file
diff --git a/index.html b/index.html
index dacded5..02a2e50 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
 	<meta charset="utf-8">
 	<title>ERPNext</title>
 	<meta name="author" content="">
-	<script type="text/javascript">window._version_number="201";
+	<script type="text/javascript">window._version_number="215";
 
 /*
 *	lib/js/wn/class.js
diff --git a/version.num b/version.num
index 3bc92d4..58e77f3 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-201
+215
\ No newline at end of file
