diff --git a/erpnext/website/utils.py b/erpnext/website/utils.py
index 22fcce7..470dbd7 100644
--- a/erpnext/website/utils.py
+++ b/erpnext/website/utils.py
@@ -41,3 +41,37 @@
 	name = title.lower()
 	name = re.sub('[~!@#$%^&*()<>,."\']', '', name)
 	return '-'.join(name.split()[:4])
+
+def render(page_name):
+	"""render html page"""
+	import webnotes
+	try:
+		if page_name:
+			html = get_html(page_name)
+		else:
+			html = get_html('index')
+	except Exception, e:
+		html = get_html('404')
+
+	print "Content-Type: text/html"
+	print
+	print html.encode('utf-8')
+	
+def get_html(page_name):
+	"""get page html"""
+	page_name = scrub_page_name(page_name)
+	comments = get_comments(page_name)
+	
+	import website.web_cache
+	html = website.web_cache.get_html(page_name, comments)
+	return html
+
+def get_comments(page_name):
+	import webnotes
+	
+	if page_name == '404':
+		comments = """error: %s""" % webnotes.getTraceback()
+	else:
+		comments = """page: %s""" % page_name
+		
+	return comments	
diff --git a/erpnext/website/web_cache.py b/erpnext/website/web_cache.py
index 893f7f2..e08499b 100644
--- a/erpnext/website/web_cache.py
+++ b/erpnext/website/web_cache.py
@@ -91,6 +91,7 @@
 	return page_list
 
 def prepare_args(page_name):
+	import webnotes
 	if page_name == 'index':
 		page_name = get_home_page()
 
@@ -98,6 +99,7 @@
 		args = {
 			'template': 'pages/%s.html' % page_name,
 			'name': page_name,
+			'webnotes': webnotes
 		}
 	else:
 		args = get_doc_fields(page_name)
diff --git a/public/web.py b/public/web.py
index 34d38fe..dcacfcd 100755
--- a/public/web.py
+++ b/public/web.py
@@ -40,39 +40,8 @@
 
 def respond():
 	import webnotes
-	try:
-		if 'page' in webnotes.form_dict:
-			html = get_html(webnotes.form_dict['page'])
-		else:
-			# show home page
-			html = get_html('index')
-	except Exception, e:
-		html = get_html('404')
-
-	print "Content-Type: text/html"
-	print
-	print html.encode('utf-8')
-
-def get_html(page_name):
 	import website.utils
-	page_name = website.utils.scrub_page_name(page_name)
-	
-	comments = get_comments(page_name)
-	
-	import website.web_cache
-	html = website.web_cache.get_html(page_name, comments)
-	
-	return html
-
-def get_comments(page_name):
-	import webnotes
-	
-	if page_name == '404':
-		comments = """error: %s""" % webnotes.getTraceback()
-	else:
-		comments = """page: %s""" % page_name
-		
-	return comments
+	return website.utils.render(webnotes.form_dict.get('page'))
 
 if __name__=="__main__":
 	init()
