diff --git a/erpnext/public/less/erpnext.less b/erpnext/public/less/erpnext.less
index 8ed5f1a..abe4868 100644
--- a/erpnext/public/less/erpnext.less
+++ b/erpnext/public/less/erpnext.less
@@ -426,7 +426,7 @@
 	.collapse-btn {
 		cursor: pointer;
 	}
-	
+
 	@media (max-width: @screen-xs) {
 		.page-actions {
 			max-width: 110px;
diff --git a/erpnext/utilities/user_progress_utils.py b/erpnext/utilities/onboarding_utils.py
similarity index 94%
rename from erpnext/utilities/user_progress_utils.py
rename to erpnext/utilities/onboarding_utils.py
index b7c24a7..35f2b6a 100644
--- a/erpnext/utilities/user_progress_utils.py
+++ b/erpnext/utilities/onboarding_utils.py
@@ -20,7 +20,7 @@
 	args = json.loads(args_data)
 	defaults = frappe.defaults.get_defaults()
 	for i in range(1,4):
-		customer = args.get("customer_" + str(i))
+		customer = args.get("customer_name_" + str(i))
 		if customer:
 			try:
 				doc = frappe.get_doc({
@@ -58,7 +58,7 @@
 	args = json.loads(args_data)
 	defaults = frappe.defaults.get_defaults()
 	for i in range(1,4):
-		supplier = args.get("supplier_" + str(i))
+		supplier = args.get("supplier_name_" + str(i))
 		if supplier:
 			try:
 				doc = frappe.get_doc({
@@ -76,7 +76,7 @@
 
 def create_contact(contact, party_type, party):
 	"""Create contact based on given contact name"""
-	contact = contact	.split(" ")
+	contact = contact.split(" ")
 
 	contact = frappe.get_doc({
 		"doctype":"Contact",
@@ -232,9 +232,3 @@
 				emp.insert(ignore_permissions = True)
 
 # Ennumerate the setup hooks you're going to need, apart from the slides
-
-@frappe.whitelist()
-def update_default_domain_actions_and_get_state():
-	domain = frappe.get_cached_value('Company',  erpnext.get_default_company(),  'domain')
-	update_domain_actions(domain)
-	return get_domain_actions_state(domain)
