frappe/frappe#478, fixed list passed in
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 2531e17..d321d00 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -77,7 +77,7 @@
 	
 def make_entry(args, adv_adj, update_outstanding):
 	args.update({"doctype": "GL Entry"})
-	gle = frappe.get_doc([args])
+	gle = frappe.get_doc(args)
 	gle.ignore_permissions = 1
 	gle.insert()
 	gle.run_method("on_update_with_args", adv_adj, update_outstanding)
diff --git a/erpnext/patches/4_0/customer_discount_to_pricing_rule.py b/erpnext/patches/4_0/customer_discount_to_pricing_rule.py
index 51719c5..a92568e 100644
--- a/erpnext/patches/4_0/customer_discount_to_pricing_rule.py
+++ b/erpnext/patches/4_0/customer_discount_to_pricing_rule.py
@@ -17,7 +17,7 @@
 			else:
 				item_group = d.item_group
 				
-			frappe.get_doc([{
+			frappe.get_doc({
 				"doctype": "Pricing Rule",
 				"apply_on": "Item Group",
 				"item_group": item_group,
@@ -25,7 +25,7 @@
 				"customer": d.parent,
 				"price_or_discount": "Discount",
 				"discount_percentage": d.discount
-			}]).insert()
+			}).insert()
 	
 	frappe.db.auto_commit_on_many_writes = False		
 	
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index 77bfca4..7355bd2 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -112,7 +112,7 @@
 			
 	def import_chart_of_account(self):
 		chart = frappe.get_doc("Chart of Accounts", self.chart_of_accounts)
-		chart.make_controller().create_accounts(self.name)
+		chart.create_accounts(self.name)
 
 	def add_acc(self,lst):
 		account = frappe.get_doc({
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.js b/erpnext/setup/page/setup_wizard/setup_wizard.js
index 8fb8e11..fe2ceb8 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.js
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.js
@@ -40,7 +40,7 @@
 		title: frappe._("ERPNext Setup Guide"),
 		welcome_html: '<h1 class="text-muted text-center"><i class="icon-magic"></i></h1>\
 			<h2 class="text-center">'+frappe._('ERPNext Setup')+'</h2>\
-			<p class="text-center">' + 
+			<p class="text-center" style="margin: 0px 100px">' + 
 			frappe._('Welcome to ERPNext. Over the next few minutes we will help you setup your ERPNext account. Try and fill in as much information as you have even if it takes a bit longer. It will save you a lot of time later. Good Luck!') + 
 			'</p>',
 		working_html: '<h3 class="text-muted text-center"><i class="icon-refresh icon-spin"></i></h3>\
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index 2a69e10..3f52463 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -73,16 +73,16 @@
 	
 def create_fiscal_year_and_company(args):
 	curr_fiscal_year = get_fy_details(args.get('fy_start_date'), args.get('fy_end_date'))
-	frappe.get_doc([{
+	frappe.get_doc({
 		"doctype":"Fiscal Year",
 		'year': curr_fiscal_year,
 		'year_start_date': args.get('fy_start_date'),
 		'year_end_date': args.get('fy_end_date'),
-	}]).insert()
+	}).insert()
 
 	print args
 	# Company
-	frappe.get_doc([{
+	frappe.get_doc({
 		"doctype":"Company",
 		'domain': args.get("industry"),
 		'company_name':args.get('company_name'),
@@ -90,27 +90,23 @@
 		'default_currency':args.get('currency'),
 		'country': args.get('country'),
 		'chart_of_accounts': args.get(('chart_of_accounts')),
-	}]).insert()
+	}).insert()
 	
 	args["curr_fiscal_year"] = curr_fiscal_year
 	
 def create_price_lists(args):
 	for pl_type in ["Selling", "Buying"]:
-		frappe.get_doc([
-			{
+		frappe.get_doc({
 				"doctype": "Price List",
 				"price_list_name": "Standard " + pl_type,
 				"enabled": 1,
 				"buying": 1 if pl_type == "Buying" else 0,
 				"selling": 1 if pl_type == "Selling" else 0,
-				"currency": args["currency"]
-			},
-			{
-				"doctype": "Applicable Territory",
-				"parentfield": "valid_for_territories",
-				"territory": "All Territories"
-			}
-		]).insert()
+				"currency": args["currency"],
+				"valid_for_territories": {
+					"territory": "All Territories"
+				}
+			}).insert()
 	
 def set_defaults(args):
 	# enable default currency
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index 9cf2020..1d5a6d2 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -31,9 +31,9 @@
             from `tabCompany`""", as_dict=1, update={"doctype":":Company"})
 
 def load_country_and_currency(bootinfo):
-	if bootinfo.control_panel.country and \
-		frappe.db.exists("Country", bootinfo.control_panel.country):
-		bootinfo["docs"] += [frappe.get_doc("Country", bootinfo.control_panel.country)]
+	country = frappe.db.get_default("country")
+	if country and frappe.db.exists("Country", country):
+		bootinfo["docs"] += [frappe.get_doc("Country", country)]
 		
 	bootinfo["docs"] += frappe.db.sql("""select * from tabCurrency
 		where ifnull(enabled,0)=1""", as_dict=1, update={"doctype":":Currency"})
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index ecdc9c0..14b9f28 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -71,39 +71,40 @@
 			"warehouse": "_Test Warehouse - _TC"}, "indented_qty")), qty2)
 			
 	def _insert_stock_entry(self, qty1, qty2):
-		se = frappe.get_doc([
-			{
+		se = frappe.get_doc({
 				"company": "_Test Company", 
 				"doctype": "Stock Entry", 
 				"posting_date": "2013-03-01", 
 				"posting_time": "00:00:00", 
 				"purpose": "Material Receipt",
 				"fiscal_year": "_Test Fiscal Year 2013",
+				"mtn_details": [
+					{
+						"conversion_factor": 1.0, 
+						"doctype": "Stock Entry Detail", 
+						"item_code": "_Test Item Home Desktop 100",
+						"parentfield": "mtn_details", 
+						"incoming_rate": 100,
+						"qty": qty1, 
+						"stock_uom": "_Test UOM 1", 
+						"transfer_qty": qty1, 
+						"uom": "_Test UOM 1",
+						"t_warehouse": "_Test Warehouse 1 - _TC",
+					},
+					{
+						"conversion_factor": 1.0, 
+						"doctype": "Stock Entry Detail", 
+						"item_code": "_Test Item Home Desktop 200",
+						"parentfield": "mtn_details", 
+						"incoming_rate": 100,
+						"qty": qty2, 
+						"stock_uom": "_Test UOM 1", 
+						"transfer_qty": qty2, 
+						"uom": "_Test UOM 1",
+						"t_warehouse": "_Test Warehouse 1 - _TC",
+					}
+				]
 			}, 
-			{
-				"conversion_factor": 1.0, 
-				"doctype": "Stock Entry Detail", 
-				"item_code": "_Test Item Home Desktop 100",
-				"parentfield": "mtn_details", 
-				"incoming_rate": 100,
-				"qty": qty1, 
-				"stock_uom": "_Test UOM 1", 
-				"transfer_qty": qty1, 
-				"uom": "_Test UOM 1",
-				"t_warehouse": "_Test Warehouse 1 - _TC",
-			},
-			{
-				"conversion_factor": 1.0, 
-				"doctype": "Stock Entry Detail", 
-				"item_code": "_Test Item Home Desktop 200",
-				"parentfield": "mtn_details", 
-				"incoming_rate": 100,
-				"qty": qty2, 
-				"stock_uom": "_Test UOM 1", 
-				"transfer_qty": qty2, 
-				"uom": "_Test UOM 1",
-				"t_warehouse": "_Test Warehouse 1 - _TC",
-			},
 		])
 		se.insert()
 		se.submit()
diff --git a/erpnext/stock/doctype/serial_no/serial_no.py b/erpnext/stock/doctype/serial_no/serial_no.py
index d6b1ef2..7a259f8 100644
--- a/erpnext/stock/doctype/serial_no/serial_no.py
+++ b/erpnext/stock/doctype/serial_no/serial_no.py
@@ -264,7 +264,7 @@
 		for serial_no in serial_nos:
 			if frappe.db.exists("Serial No", serial_no):
 				sr = frappe.get_doc("Serial No", serial_no)
-				sr.make_controller().via_stock_ledger = True
+				sr.via_stock_ledger = True
 				sr.warehouse = sle.warehouse if sle.actual_qty > 0 else None
 				sr.save()
 			elif sle.actual_qty > 0:
@@ -284,7 +284,7 @@
 	sr.serial_no = serial_no
 	sr.item_code = sle.item_code
 	sr.warehouse = None
-	sr.make_controller().via_stock_ledger = True
+	sr.via_stock_ledger = True
 	sr.insert()
 	sr.warehouse = sle.warehouse
 	sr.status = "Available"
diff --git a/erpnext/stock/doctype/stock_ledger/stock_ledger.py b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
index a20da19..fca9cb0 100644
--- a/erpnext/stock/doctype/stock_ledger/stock_ledger.py
+++ b/erpnext/stock/doctype/stock_ledger/stock_ledger.py
@@ -41,7 +41,7 @@
 
 	def make_entry(self, args):
 		args.update({"doctype": "Stock Ledger Entry"})
-		sle = frappe.get_doc([args])
+		sle = frappe.get_doc(args)
 		sle.ignore_permissions = 1
 		sle.insert()
 		return sle.name
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 2f88c56..083879d 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -175,7 +175,7 @@
 		frappe.db.sql("delete from `tabGL Entry`")
 						
 	def submit_stock_reconciliation(self, qty, rate, posting_date, posting_time):
-		stock_reco = frappe.get_doc([{
+		stock_reco = frappe.get_doc({
 			"doctype": "Stock Reconciliation",
 			"posting_date": posting_date,
 			"posting_time": posting_time,
@@ -187,7 +187,7 @@
 				["Item Code", "Warehouse", "Quantity", "Valuation Rate"],
 				["_Test Item", "_Test Warehouse - _TC", qty, rate]
 			]),
-		}])
+		})
 		stock_reco.insert()
 		stock_reco.submit()
 		return stock_reco
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index c8921d6..cf95845 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -49,7 +49,7 @@
 		
 def make_entry(args):
 	args.update({"doctype": "Stock Ledger Entry"})
-	sle = frappe.get_doc([args])
+	sle = frappe.get_doc(args)
 	sle.ignore_permissions = 1
 	sle.insert()
 	sle.submit()
@@ -137,11 +137,11 @@
 	# update bin
 	if not frappe.db.exists({"doctype": "Bin", "item_code": args["item_code"], 
 			"warehouse": args["warehouse"]}):
-		bin_wrapper = frappe.get_doc([{
+		bin_wrapper = frappe.get_doc({
 			"doctype": "Bin",
 			"item_code": args["item_code"],
 			"warehouse": args["warehouse"],
-		}])
+		})
 		bin_wrapper.ignore_permissions = 1
 		bin_wrapper.insert()
 	
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 343f6c9..0345a7e 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -40,16 +40,15 @@
 def get_bin(item_code, warehouse):
 	bin = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse})
 	if not bin:
-		bin_wrapper = frappe.get_doc([{
+		bin_obj = frappe.get_doc({
 			"doctype": "Bin",
 			"item_code": item_code,
 			"warehouse": warehouse,
-		}])
-		bin_wrapper.ignore_permissions = 1
-		bin_wrapper.insert()
-		bin_obj = bin_wrapper.make_controller()
+		})
+		bin_obj.ignore_permissions = 1
+		bin_obj.insert()
 	else:
-				bin_obj = frappe.get_doc('Bin', bin)
+		bin_obj = frappe.get_doc('Bin', bin)
 	return bin_obj
 
 def update_bin(args):
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index b9cc0bc..7178fa2 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -58,7 +58,7 @@
 				self.update_amc_date(serial_nos, d.end_date)
 
 			if d.sales_person not in email_map:
-				sp = frappe.get_doc("Sales Person", d.sales_person).make_controller()
+				sp = frappe.get_doc("Sales Person", d.sales_person)
 				email_map[d.sales_person] = sp.get_email_id()
 
 			scheduled_date = frappe.db.sql("""select scheduled_date from 
diff --git a/erpnext/support/doctype/support_ticket/get_support_mails.py b/erpnext/support/doctype/support_ticket/get_support_mails.py
index b36437e..92e9031 100644
--- a/erpnext/support/doctype/support_ticket/get_support_mails.py
+++ b/erpnext/support/doctype/support_ticket/get_support_mails.py
@@ -63,14 +63,14 @@
 		ticket.ignore_permissions = True
 		ticket.save()
 	else:
-		ticket = frappe.get_doc([decode_dict({
+		ticket = frappe.get_doc(decode_dict({
 			"doctype":"Support Ticket",
 			"description": content,
 			"subject": subject,
 			"raised_by": sender,
 			"content_type": mail.content_type if mail else None,
 			"status": "Open",
-		})])
+		}))
 		ticket.ignore_permissions = True
 		ticket.ignore_mandatory = True
 		ticket.insert()