diff --git a/accounts/doctype/cost_center/cost_center.py b/accounts/doctype/cost_center/cost_center.py
index 4e9b7fd..e405b4d 100644
--- a/accounts/doctype/cost_center/cost_center.py
+++ b/accounts/doctype/cost_center/cost_center.py
@@ -35,9 +35,9 @@
 		if not self.doc.group_or_ledger:
 			msgprint("Please select Group or Ledger value", raise_exception=1)
 			
-		if self.doc.cost_center_name != 'Root' and not self.doc.parent_cost_center:
+		if self.doc.cost_center_name != self.doc.company_name and not self.doc.parent_cost_center:
 			msgprint("Please enter parent cost center", raise_exception=1)
-		elif self.doc.cost_center_name == "Root" and self.doc.parent_cost_center:
+		elif self.doc.cost_center_name == self.doc.company_name and self.doc.parent_cost_center:
 			msgprint(_("Root cannot have a parent cost center"), raise_exception=1)
 		
 	def convert_group_to_ledger(self):
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/accounts/page/accounts_browser/accounts_browser.js
index 527682f..0b69fb9 100644
--- a/accounts/page/accounts_browser/accounts_browser.js
+++ b/accounts/page/accounts_browser/accounts_browser.js
@@ -117,7 +117,7 @@
 		me.company = company;
 		this.tree = new wn.ui.Tree({
 			parent: $(wrapper), 
-			label: company,
+			label: ctype==="Account" ? "Accounts" : "Cost Centers",
 			args: {ctype: ctype, comp: company},
 			method: 'accounts.page.accounts_browser.accounts_browser.get_children',
 			click: function(link) {
diff --git a/accounts/page/accounts_browser/accounts_browser.py b/accounts/page/accounts_browser/accounts_browser.py
index d78b8a2..febe22d 100644
--- a/accounts/page/accounts_browser/accounts_browser.py
+++ b/accounts/page/accounts_browser/accounts_browser.py
@@ -31,14 +31,14 @@
 	company_field = ctype=='Account' and 'company' or 'company_name'
 
 	# root
-	if args['parent'] == company:
+	if args['parent'] in ("Accounts", "Cost Centers"):
 		acc = webnotes.conn.sql(""" select 
 			name as value, if(group_or_ledger='Group', 1, 0) as expandable
 			from `tab%s`
 			where ifnull(parent_%s,'') = ''
 			and %s = %s	and docstatus<2 
 			order by name""" % (ctype, ctype.lower().replace(' ','_'), company_field, '%s'),
-				args['parent'], as_dict=1)
+				company, as_dict=1)
 	else:	
 		# other
 		acc = webnotes.conn.sql("""select 
diff --git a/docs/docs.user.help.md b/docs/docs.user.help.md
new file mode 100644
index 0000000..41ba919
--- /dev/null
+++ b/docs/docs.user.help.md
@@ -0,0 +1,35 @@
+---
+{
+	"_label": "Getting Help",
+	"_icon": "question"
+}
+---
+If you are stuck and have searched all the help that is available online and need to talk to someone, here is how you do it:
+
+### 1. Head to the Forums
+
+- If you are a user or evaluating and want to talk to other ERPNext users, go to the [ERPNext User Forum](groups.google.com/group/erpnext-user-forum/)
+- If you are a developer and want help in customizing or extending ERPNext, head to the developer forums [ERPNext Developer Forum](groups.google.com/group/erpnext-developer-forum/)
+
+### 2. Report an Issue / Suggestion at GitHub
+
+We use GitHub to manage the development of ERPNext. So if you encounter a bug or have a suggestion, feel free to add a GitHub issue. Everyone on the core team keeps a watch on that list.
+
+- [ERPNext Issues on GitHub](https://github.com/webnotes/erpnext/issues)
+
+### 3. Get in touch with a local partner.
+
+ERPNext has an expanding partner community so check this page out if there is a local partner  in your region.
+
+- [ERPNext Parter List](https://erpnext.com/partners)
+
+### 4. Buy Commercial Support / Hosting
+
+You can buy affordable hosting from Web Notes or buy commercial support where you get:
+
+1. One-on-one sessions via screen sharing.
+1. Priority bug fixing
+1. Remote setup and installation on your linux server.
+1. Help in setting up backups and restoring.
+
+- [ERPNext Commercial Support](http://erpnext.com/open-source-commercial-support)
diff --git a/docs/docs.user.implement.concepts.md b/docs/docs.user.implement.concepts.md
new file mode 100644
index 0000000..447af31
--- /dev/null
+++ b/docs/docs.user.implement.concepts.md
@@ -0,0 +1,367 @@
+---
+{
+	"_label": "Concepts and Terms"
+}
+---
+Before you start implementation, lets get familiar with the terminology used and some basic concepts in ERPNext.
+
+---
+
+### Basic Concepts
+
+#### Company
+
+This represents the Company records for which ERPNext is setup. With the same setup, you can create multiple Company records, each representing a different legal entity. The accounting for each Company will be different, but they will share Customer, Supplier and Item records.
+
+> Setup > Company > Companies
+
+#### Customer
+
+Represents a customer. A Customer can be an individual or an organizations. You can create multiple Contacts and Addresses for each Customer.
+
+> Selling > Customer
+
+#### Supplier
+
+Represents a supplier of goods or services. Your telephone company is a Supplier, so is your raw materials Supplier. Again, a Supplier can be an individual or an organization and has multiple Contacts and Addresses.
+
+> Buying > Supplier
+
+#### Item
+
+A Product, sub-product or Service that is either bought, sold or manufactured and is uniquely identified.
+
+> Stock > Item
+
+#### Account
+
+An Account is heading under which financial and business transactions are carried on. For example, “Travel Expense” is an account, “Customer Zoe”, “Supplier Mae” are accounts. ERPNext creates accounts for Customers and Suppliers automatically.
+
+> Accounts > Chart of Accounts
+
+#### Address
+
+An address represents location details of a Customer or Supplier. These can be of different locations such as Head Office, Factory, Warehouse, Shop etc. 
+
+> Selling > Address
+
+#### Contact
+
+An individual Contact that belongs to a Customer or Supplier or is just independent. A Contact has name and contact details like email and phone number.
+
+> Selling > Contact
+
+#### Communication
+
+A list of all Communication with a Contact or Lead. All emails sent from the system are added to the Communication table.
+
+> Support > Communication
+
+#### Price List
+
+A table of sale price for an Item. An Item can have multiple prices based on Customer / Supplier or Territory etc..
+
+> Selling > Setup > Price List
+
+> Buying > Setup > Price List
+
+---
+
+### Accounting
+
+#### Fiscal Year
+
+Represents a Financial Year or Accounting Year. You can operate multiple Fiscal Years at the same time. Each Fiscal Year has a start and end date and transactions can only be recorded in this period. When you “close” a fiscal year, its balances are transferred as “opening” balances for the next fiscal year.
+
+> Setup > Company > Fiscal Years
+
+#### Cost Center
+
+A Cost Center is like an Account, but the only different is that its structure represents your business more closely than Accounts. For example in your Chart of Accounts, you separate your expenses by type (say travel, marketing etc). In your Chart of Cost Centers, you can separate them by product line or business group (for example online sales, retail sales)
+
+> Accounts > Chart of Cost Centers
+
+#### Journal Voucher
+
+A document that contains General Ledger (GL) entries and the sum of Debits and Credits of those entries is the same. In ERPNext you can update Payments, Returns etc using Journal Vouchers.
+
+> Accounts > Journal Vouchers
+
+#### Sales Invoice
+
+A bill sent to Customers for delivery of Items (goods or services).
+
+> Accounts > Sales Invoice
+
+#### Purchase Invoice
+
+A bill sent by a Supplier for delivery of Items (goods or services).
+
+> Accounts > Purchase Invoice
+
+#### Currency
+
+ERPNext allows you to book transactions in multiple currencies. There is only one currency for your books of accounts though. While posting your Invoices, payments in different currencies, the amounts are converted to the default currency by the specified conversion rate.
+
+> Setup > Company > Currencies
+
+---
+
+### Selling
+
+#### Customer Group
+
+A classification of Customers, usually based on market segment.
+
+> Selling > Setup (sidebar) > Customer Group
+
+#### Lead
+
+A person who could be a future source of business. A Lead may generate Opportunities. (from: “may lead to a sale”).
+
+> Selling > Lead
+
+#### Opportunity
+
+A potential sale. (from: “opportunity for a business”).
+
+> Selling > Opportunity
+
+#### Sales Order
+
+A note confirming the terms of delivery and price of an Item (product or service) by the Customer. Deliveries, Production Orders and Invoices are made on basis of Sales Orders.
+
+> Selling > Sales Order
+
+#### Territory
+
+A geographical area classification for sales management. You can set targets for Territories and each sale is linked to a Territory.
+
+> Selling > Setup > Territory
+
+#### Sales Partner
+
+A third party distributer / dealer / affiliate / commission agent who sells the company’s products usually for a commission.
+
+> Selling > Setup > Sales Partner
+
+#### Sales Person
+
+Someone who pitches the Customer and closes deals. You can set targets for Sales Persons and tag them in transactions.
+
+> Selling > Setup > Sales Person
+
+---
+
+### Buying
+
+#### Purchase Order
+
+A contract given to a Supplier to deliver the specified Items at the specified cost, quantity, dates and other terms.
+
+> Buying > Purchase Order
+
+#### Material Request
+
+A request made by a system User, or automatically generated by ERPNext based on reorder level or projected quantity in Production Plan for purchasing a set of Items.
+
+> Buying > Material Request
+
+---
+
+### Stock (Inventory)
+
+#### Warehouse
+
+A logical Warehouse against which stock entries are made.
+
+> Stock > Warehouse
+
+#### Stock Entry
+
+Material transfer from a Warehouse, to a Warehouse or from one Warehouse to another.
+
+> Stock > Stock Entry
+
+#### Delivery Note
+
+A list of Items with quantities for shipment. A Delivery Note will reduce the stock of Items for the Warehouse from where you ship. A Delivery Note is usually made against a Sales Order.
+
+> Stock > Delivery Note
+
+#### Purchase Receipt
+
+A note stating that a particular set of Items were received from the Supplier, most likely against a Purchase Order.
+
+> Stock > Purchase Receipt
+
+#### Serial Number
+
+A unique number given to a particular unit of an Item.
+
+> Stock > Serial Number
+
+#### Batch
+
+A number given to a group of units of a particular Item that may be purchased or manufactured in a group.
+
+> Stock > Batch
+
+#### Stock Ledger Entry
+
+A unified table for all material movement from one warehouse to another. This is the table that is updated when a Stock Entry, Delivery Note, Purchase Receipt, Sales Invoice (POS) is made.
+
+#### Stock Reconciliation
+
+Update Stock of multiple Items from a spreadsheet (CSV) file.
+
+> Stock > Stock Reconciliation (in sidebar)
+
+#### Quality Inspection
+
+A note prepared to record certain parameters of an Item at time of Receipt from Supplier or Delivery to Customer.
+
+> Stock > Tools > Quality Inspection
+
+#### Item Group
+
+A classification of Item.
+
+> Stock > Setup (sidebar) > Item Group
+
+---
+
+### Human Resource Management
+
+#### Employee
+
+Record of a person who has been in present or past, in the employment of the company.
+
+Human Resources > Employee
+
+#### Leave Application
+
+A record of an approved or rejected request for leave.
+
+> Human Resource > Leave Application
+
+#### Leave Type
+
+A type of leave (for example, Sick Leave, Maternity Leave etc.)
+
+> Human Resource > Leave and Attendance (sidebar) > Leave Type
+
+#### Salary Manager
+
+A tool that will help creation of multiple Salary Slips for Employees.
+
+> Human Resource > Salary and Payroll > Process Payroll
+
+#### Salary Slip
+
+A record of the monthly salary given to an Employee.
+
+> Human Resource > Salary Slip
+
+#### Salary Structure
+
+A template identifying all the components of an Employee’s salary (earnings) and tax and other social security deductions.
+
+> Human Resource > Salary and Payroll > Salary Structure
+
+#### Appraisal
+
+A record of the performance of an Employee over a specified period based on certain parameters.
+
+> Human Resources > Appraisal
+
+#### Appraisal Template
+
+A template recording the different parameters of Employee performance and their weights for a particular role.
+
+> Human Resources > Employee Setup > Appraisal Template
+
+#### Attendance
+
+A record indicating presence or absence of an Employee on a particular day.
+
+> Human Resources > Attendance
+
+---
+
+### Manufacturing
+
+#### Bill of Materials (BOM)
+
+A list of Operations and Items with their quantities that are required to produce another Item. A Bill of Materials (BOM) is used to plan purchases and do product costing.
+
+> Manufacturing > BOM
+
+#### Workstation
+
+A place where an BOM operation takes place. Is useful to calculate the direct cost of the product.
+
+> Manufacturing > Workstation
+
+#### Production Order
+
+A document signaling production (manufacture) of a particular Item with specified quantities.
+
+> Manufacturing > Production Order
+
+#### Production Planning Tool
+
+A tool for automatic creation of Production Orders and Purchase Requests based on Open Sales Orders in a given period.
+
+> Manufacturing > Production Planning Tool
+
+---
+
+### Website
+
+#### Blog Post
+
+A short article that appears in the “Blog” section of the website generated from the ERPNext website module. Blog is a short from of “Web Log”.
+
+> Website > Blog Post
+
+#### Web Page
+
+A web page with a unique URL (web address) on the website generated from ERPNext.
+
+> Website > Web Page
+
+---
+
+### Setup / Customization
+
+#### Custom Field
+
+A user defined field on a form / table.
+
+Setup > Customize ERPNext > Custom Field
+
+#### Global Defaults
+
+This is the section where you set default values for various parameters of the system.
+
+Setup > Data > Global Defaults
+
+#### Print Heading
+
+A title that can be set on a transaction just for printing. For example, you want to print a Quotation with a title “Proposal” or “Pro forma Invoice”.
+
+> Setup > Branding and Printing > Print Headings
+
+#### Terms and Conditions
+
+Text of your terms of contract.
+
+> Selling > Setup > Terms and Conditions Template
+
+#### Unit of Measure (UOM)
+
+How quantity is measured for an Item. For example (Kg, No, Pair, Packet) etc.
+
+> Stock > Setup > UOM
+
diff --git a/docs/docs.user.implement.md b/docs/docs.user.implement.md
new file mode 100644
index 0000000..2ba2dbd
--- /dev/null
+++ b/docs/docs.user.implement.md
@@ -0,0 +1,34 @@
+---
+{
+	"_label": "Implementation",
+	"_toc": [
+		"docs.user.implement.strategy",
+		"docs.user.implement.concepts"
+	]
+}
+---
+We have seem dozens of ERP implementations over the past few years and we realize that successful implementations are a lot about intangibles and attitude.
+
+**ERPs are not required.**
+
+Like exercise. 
+
+Human body does not require to be exercised today or maybe tomorrow, but in the long run, if you wish to maintain your body and its health, you should get on the treadmill.
+
+In the same way, ERPs improve the health of your organization over a long run by keep it fit and efficient. The more you delay putting things in order, the more time you lose and the closer you get to a major disaster.
+
+So when you start implementing an ERP, keep your sight on the long term benefits. Like exercise, its painful in the short run, but will do wonders if you stay on course.
+
+---
+
+## The Champion
+
+ERP means organization wide change and it does not happen without effort. Every change requires a champion and its the duty of the champion to organize and energize the entire team towards implementation. The champion is all the fall guy (or fall gal) incase something goes wrong and hence needs to be resilient. Who becomes a champion without putting effort anyways?
+
+In many organizations we have seen, the champion is most often the owner or a senior manager. Occasionally, the champion is an outsider who is hired for the purpose.
+
+In either case, you must identify your champion first.
+
+Most likely its **you!** 
+
+Lets Begin!
diff --git a/docs/docs.user.implement.strategy.md b/docs/docs.user.implement.strategy.md
new file mode 100644
index 0000000..6675536
--- /dev/null
+++ b/docs/docs.user.implement.strategy.md
@@ -0,0 +1,30 @@
+---
+{
+	"_label": "Implementation Strategy"
+}
+---
+Before you start managing your Operations in EPRNext, you must first become familiar with the system and the terms used. For this we recommend implementation should happen in two phases.
+
+- A Test Phase, where you enter dummy records representing your day to day transactions and a - Live Phase, where we start entering live data.
+
+### Test Phase
+
+- Read the Manual
+- Create your first Customer, Supplier and Item. Add a few more so you get familiar.
+- Create Customer Groups, Item Groups, Warehouses, Supplier Groups so that you can classify your Items.
+- Complete a standard sales cycle - Lead > Opportunity > Quotation > Sales Order > Delivery Note > Sales Invoice > Payment (Journal Voucher)
+- Complete a standard purchase cycle - Purchase Request > Purchase Order > Purchase Receipt > Payment (Journal Voucher).
+- Complete a manufacturing cycle (if applicable) - BOM > Production Planning Tool > Production Order > Stock Entry (issue) > Stock Entry (back-flush)
+
+> Tip: Use the 30-day free trial at [erpnext.com](https://erpnext.com) to do your test drive.
+
+### Live Phase
+
+Once you have made yourself familiar with ERPNext, start entering your live data!
+
+- Clean up the account of test data or better, start a fresh install.
+- Setup all the modules with Customer Groups, Item Groups, Warehouses, BOMs etc.
+- Import Customers, Suppliers, Items, Contacts and Addresses using Data Import Tool.
+- Import opening stock using Stock Reconciliation Tool.
+- Create opening accounting entries via Journal Voucher and create outstanding Sales Invoices and Purchase Invoices.
+
diff --git a/docs/docs.user.setup.accounting.md b/docs/docs.user.setup.accounting.md
index 819befc..d6e4c52 100644
--- a/docs/docs.user.setup.accounting.md
+++ b/docs/docs.user.setup.accounting.md
@@ -1,6 +1,7 @@
 ---
 {
 	"_label": "Chart of Accounts",
+	"_icon": "sitemap",
 	"_links": [
 		"docs.user.accounts"
 	]
diff --git a/docs/docs.user.setup.cost_centers.md b/docs/docs.user.setup.cost_centers.md
index c3d603d..25b246c 100644
--- a/docs/docs.user.setup.cost_centers.md
+++ b/docs/docs.user.setup.cost_centers.md
@@ -1,6 +1,7 @@
 ---
 {
 	"_label": "Cost Centers and Budgeting",
+	"_icon": "sitemap",
 	"_links": [
 		"docs.user.accounts"
 	]
diff --git a/setup/doctype/company/company.py b/setup/doctype/company/company.py
index 2564503..c5a5d49 100644
--- a/setup/doctype/company/company.py
+++ b/setup/doctype/company/company.py
@@ -214,33 +214,25 @@
 				webnotes.conn.set(self.doc, "expenses_included_in_valuation", 
 					"Expenses Included In Valuation - " + self.doc.abbr)
 		
-		if not self.doc.stock_adjustment_cost_center and webnotes.conn.exists("Cost Center", 
-			"Auto Inventory Accounting - " + self.doc.abbr):
-				webnotes.conn.set(self.doc, "stock_adjustment_cost_center", 
-					"Auto Inventory Accounting - " + self.doc.abbr)
+		if not self.doc.stock_adjustment_cost_center:
+				webnotes.conn.set(self.doc, "stock_adjustment_cost_center", self.doc.cost_center)
 	
 	# Create default cost center
 	# ---------------------------------------------------
 	def create_default_cost_center(self):
 		cc_list = [
 			{
-				'cost_center_name':'Root',
+				'cost_center_name': self.doc.name,
 				'company_name':self.doc.name,
 				'group_or_ledger':'Group',
 				'parent_cost_center':''
 			}, 
 			{
-				'cost_center_name':'Default CC Ledger', 
+				'cost_center_name':'Main', 
 				'company_name':self.doc.name,
 				'group_or_ledger':'Ledger',
-				'parent_cost_center':'Root - ' + self.doc.abbr
+				'parent_cost_center':self.doc.name + ' - ' + self.doc.abbr
 			},
-			{
-				'cost_center_name': 'Auto Inventory Accounting', 
-				'company_name': self.doc.name,
-				'group_or_ledger': 'Ledger',
-				'parent_cost_center': 'Root - ' + self.doc.abbr
-			}
 		]
 		for cc in cc_list:
 			cc.update({"doctype": "Cost Center"})
@@ -249,7 +241,7 @@
 			cc_bean.insert()
 			
 		webnotes.conn.set_value("Company", self.doc.name, "cost_center",
-			"Default CC Ledger - " + self.doc.abbr)
+			"Main - " + self.doc.abbr)
 			
 	def on_update(self):
 		self.set_letter_head()
@@ -259,7 +251,7 @@
 			self.create_default_accounts()
 		
 		if not webnotes.conn.sql("""select name from `tabCost Center` 
-			where cost_center_name = 'Root' and company_name = %s""", self.doc.name):
+			where cost_center_name = 'All Units' and company_name = %s""", self.doc.name):
 			self.create_default_cost_center()
 			
 		self.set_default_accounts()
diff --git a/startup/install.py b/startup/install.py
index a3eec66..363c7ba 100644
--- a/startup/install.py
+++ b/startup/install.py
@@ -127,11 +127,10 @@
 		
 		# territory
 		{'doctype': 'Territory', 'territory_name': 'All Territories', 'is_group': 'Yes', 'name': 'All Territories', 'parent_territory': ''},
-		{'doctype': 'Territory', 'territory_name': 'Default', 'is_group': 'No', 'name': 'Default', 'parent_territory': 'All Territories'},
 			
 		# customer group
 		{'doctype': 'Customer Group', 'customer_group_name': 'All Customer Groups', 'is_group': 'Yes', 	'name': 'All Customer Groups', 'parent_customer_group': ''},
-		{'doctype': 'Customer Group', 'customer_group_name': 'Default Customer Group', 'is_group': 'No', 'name': 'Default Customer Group', 'parent_customer_group': 'All Customer Groups'},
+		{'doctype': 'Customer Group', 'customer_group_name': 'Default', 'is_group': 'No', 'name': 'Default Customer Group', 'parent_customer_group': 'All Customer Groups'},
 			
 		# supplier type
 		{'doctype': 'Supplier Type', 'name': 'Default Supplier Type', 'supplier_type': 'Default Supplier Type'},
diff --git a/stock/doctype/delivery_note/test_delivery_note.py b/stock/doctype/delivery_note/test_delivery_note.py
index d0ec631..287d05b 100644
--- a/stock/doctype/delivery_note/test_delivery_note.py
+++ b/stock/doctype/delivery_note/test_delivery_note.py
@@ -57,7 +57,7 @@
 		
 		dn = webnotes.bean(copy=test_records[0])
 		dn.doclist[1].expense_account = "Cost of Goods Sold - _TC"
-		dn.doclist[1].cost_center = "Auto Inventory Accounting - _TC"
+		dn.doclist[1].cost_center = "Main - _TC"
 
 		stock_in_hand_account = webnotes.conn.get_value("Company", dn.doc.company, 
 			"stock_in_hand_account")
