diff --git a/erpnext/startup/__init__.py b/erpnext/startup/__init__.py
index a3fe7ce..faafb76 100644
--- a/erpnext/startup/__init__.py
+++ b/erpnext/startup/__init__.py
@@ -34,7 +34,7 @@
 def get_monthly_bulk_mail_limit():
 	import frappe
 	# if global settings, then 500 or unlimited
-	if frappe.conn.get_value('Email Settings', None, 'outgoing_mail_server'):
+	if frappe.db.get_value('Email Settings', None, 'outgoing_mail_server'):
 		return 999999
 	else:
 		return 500
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index 148f373..c342eab 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -10,7 +10,7 @@
 	import frappe
 	import frappe.model.doc
 	
-	bootinfo['custom_css'] = frappe.conn.get_value('Style Settings', None, 'custom_css') or ''
+	bootinfo['custom_css'] = frappe.db.get_value('Style Settings', None, 'custom_css') or ''
 	bootinfo['website_settings'] = frappe.model.doc.getsingle('Website Settings')
 
 	if frappe.session['user']!='Guest':
@@ -23,10 +23,10 @@
 			"Notification Control").get_values()
 				
 		# if no company, show a dialog box to create a new company
-		bootinfo["customer_count"] = frappe.conn.sql("""select count(*) from tabCustomer""")[0][0]
+		bootinfo["customer_count"] = frappe.db.sql("""select count(*) from tabCustomer""")[0][0]
 
 		if not bootinfo["customer_count"]:
-			bootinfo['setup_complete'] = frappe.conn.sql("""select name from 
+			bootinfo['setup_complete'] = frappe.db.sql("""select name from 
 				tabCompany limit 1""") and 'Yes' or 'No'
 		
 		
@@ -35,20 +35,20 @@
 		for key in ['max_users', 'expires_on', 'max_space', 'status', 'commercial_support']:
 			if key in conf: bootinfo[key] = conf.get(key)
 
-		bootinfo['docs'] += frappe.conn.sql("""select name, default_currency, cost_center
+		bootinfo['docs'] += frappe.db.sql("""select name, default_currency, cost_center
             from `tabCompany`""", as_dict=1, update={"doctype":":Company"})
 
 def load_country_and_currency(bootinfo):
 	if bootinfo.control_panel.country and \
-		frappe.conn.exists("Country", bootinfo.control_panel.country):
+		frappe.db.exists("Country", bootinfo.control_panel.country):
 		bootinfo["docs"] += [frappe.doc("Country", bootinfo.control_panel.country)]
 		
-	bootinfo["docs"] += frappe.conn.sql("""select * from tabCurrency
+	bootinfo["docs"] += frappe.db.sql("""select * from tabCurrency
 		where ifnull(enabled,0)=1""", as_dict=1, update={"doctype":":Currency"})
 
 def get_letter_heads():
 	import frappe
-	ret = frappe.conn.sql("""select name, content from `tabLetter Head` 
+	ret = frappe.db.sql("""select name, content from `tabLetter Head` 
 		where ifnull(disabled,0)=0""")
 	return dict(ret)
 	
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index 5fd8436..1fb7ea0 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -14,8 +14,8 @@
 		# create feed
 		from frappe.utils import nowtime
 		from frappe.profile import get_user_fullname
-		frappe.conn.begin()
+		frappe.db.begin()
 		make_feed('Login', 'Profile', login_manager.user, login_manager.user,
 			'%s logged in at %s' % (get_user_fullname(login_manager.user), nowtime()), 
 			login_manager.user=='Administrator' and '#8CA2B3' or '#1B750D')
-		frappe.conn.commit()
\ No newline at end of file
+		frappe.db.commit()
\ No newline at end of file
