diff --git a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
index 4d1fb0c..7dad3f6 100644
--- a/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
+++ b/erpnext/accounts/doctype/bank_reconciliation_detail/bank_reconciliation_detail.txt
@@ -5,109 +5,128 @@
 	{
 		'creation': '2010-08-08 17:08:52',
 		'docstatus': 0,
-		'modified': '2010-09-23 13:57:17',
-		'modified_by': 'umair@iwebnotes.com',
-		'owner': 'Administrator'
+		'modified': '2012-03-22 14:53:24',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'colour': 'White:FFF',
+		'colour': u'White:FFF',
+		'default_print_format': u'Standard',
 		'doctype': 'DocType',
 		'istable': 1,
-		'module': 'Accounts',
+		'module': u'Accounts',
 		'name': '__common__',
-		'section_style': 'Tray',
+		'section_style': u'Tray',
 		'show_in_menu': 0,
-		'version': 4
+		'version': 5
 	},
 
 	# These values are common for all DocField
 	{
-		'doctype': 'DocField',
+		'doctype': u'DocField',
 		'name': '__common__',
-		'parent': 'Bank Reconciliation Detail',
-		'parentfield': 'fields',
-		'parenttype': 'DocType'
+		'no_copy': 0,
+		'parent': u'Bank Reconciliation Detail',
+		'parentfield': u'fields',
+		'parenttype': u'DocType',
+		'search_index': 0
 	},
 
 	# DocType, Bank Reconciliation Detail
 	{
 		'doctype': 'DocType',
-		'name': 'Bank Reconciliation Detail'
+		'name': u'Bank Reconciliation Detail'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'voucher_id',
-		'fieldtype': 'Link',
-		'idx': 1,
-		'label': 'Voucher ID',
-		'oldfieldname': 'voucher_id',
-		'oldfieldtype': 'Link',
-		'options': 'Journal Voucher',
+		'doctype': u'DocField',
+		'fieldname': u'voucher_id',
+		'fieldtype': u'Link',
+		'label': u'Voucher ID',
+		'oldfieldname': u'voucher_id',
+		'oldfieldtype': u'Link',
+		'options': u'Journal Voucher',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'against_account',
-		'fieldtype': 'Data',
-		'idx': 2,
-		'label': 'Against Account',
-		'oldfieldname': 'against_account',
-		'oldfieldtype': 'Data',
+		'doctype': u'DocField',
+		'fieldname': u'against_account',
+		'fieldtype': u'Data',
+		'label': u'Against Account',
+		'oldfieldname': u'against_account',
+		'oldfieldtype': u'Data',
 		'permlevel': 1
 	},
 
 	# DocField
 	{
-		'description': 'The date at which current entry will get or has actually executed.',
-		'doctype': 'DocField',
-		'fieldname': 'posting_date',
-		'fieldtype': 'Date',
-		'idx': 3,
-		'label': 'Posting Date',
-		'oldfieldname': 'posting_date',
-		'oldfieldtype': 'Date',
+		'description': u'The date at which current entry will get or has actually executed.',
+		'doctype': u'DocField',
+		'fieldname': u'posting_date',
+		'fieldtype': u'Date',
+		'label': u'Posting Date',
+		'oldfieldname': u'posting_date',
+		'oldfieldtype': u'Date',
 		'permlevel': 1
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'cheque_number',
-		'fieldtype': 'Data',
-		'idx': 4,
-		'label': 'Cheque Number',
-		'oldfieldname': 'cheque_number',
-		'oldfieldtype': 'Data',
+		'doctype': u'DocField',
+		'fieldname': u'cheque_number',
+		'fieldtype': u'Data',
+		'label': u'Cheque Number',
+		'oldfieldname': u'cheque_number',
+		'oldfieldtype': u'Data',
 		'permlevel': 1
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'cheque_date',
-		'fieldtype': 'Date',
-		'idx': 5,
-		'label': 'Cheque Date',
-		'oldfieldname': 'cheque_date',
-		'oldfieldtype': 'Date',
+		'doctype': u'DocField',
+		'fieldname': u'cheque_date',
+		'fieldtype': u'Date',
+		'label': u'Cheque Date',
+		'oldfieldname': u'cheque_date',
+		'oldfieldtype': u'Date',
 		'permlevel': 1
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'clearance_date',
-		'fieldtype': 'Date',
-		'idx': 8,
-		'label': 'Clearance Date',
-		'oldfieldname': 'clearance_date',
-		'oldfieldtype': 'Date',
+		'doctype': u'DocField',
+		'fieldname': u'debit',
+		'fieldtype': u'Currency',
+		'label': u'Debit',
+		'oldfieldname': u'debit',
+		'oldfieldtype': u'Currency',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'credit',
+		'fieldtype': u'Currency',
+		'label': u'Credit',
+		'oldfieldname': u'credit',
+		'oldfieldtype': u'Currency',
+		'permlevel': 1
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'clearance_date',
+		'fieldtype': u'Date',
+		'label': u'Clearance Date',
+		'oldfieldname': u'clearance_date',
+		'oldfieldtype': u'Date',
 		'permlevel': 0
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/knowledge_base/page/questions/questions.txt b/erpnext/knowledge_base/page/questions/questions.txt
index b45c7dd..1ca11ff 100644
--- a/erpnext/knowledge_base/page/questions/questions.txt
+++ b/erpnext/knowledge_base/page/questions/questions.txt
@@ -15,13 +15,13 @@
 		'doctype': 'Page',
 		'module': 'Knowledge Base',
 		'name': '__common__',
-		'page_name': 'questions',
+		'page_name': 'Questions',
 		'standard': 'Yes'
 	},
 
 	# Page, questions
 	{
 		'doctype': 'Page',
-		'name': 'questions'
+		'name': 'Questions'
 	}
-]
\ No newline at end of file
+]
diff --git a/erpnext/projects/doctype/project/project.txt b/erpnext/projects/doctype/project/project.txt
index 3d57e12..0cc81c6 100644
--- a/erpnext/projects/doctype/project/project.txt
+++ b/erpnext/projects/doctype/project/project.txt
@@ -5,47 +5,51 @@
 	{
 		'creation': '2010-08-08 17:09:14',
 		'docstatus': 0,
-		'modified': '2011-01-05 15:24:43',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
+		'modified': '2012-03-22 14:39:13',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
 	},
 
 	# These values are common for all DocType
 	{
-		'_last_update': '1305714062',
+		'_last_update': u'1305714062',
+		'allow_attach': 1,
 		'allow_trash': 1,
-		'autoname': 'field:project_name',
-		'colour': 'White:FFF',
+		'autoname': u'field:project_name',
+		'colour': u'White:FFF',
+		'default_print_format': u'Standard',
 		'doctype': 'DocType',
-		'document_type': 'Master',
-		'module': 'Projects',
+		'document_type': u'Master',
+		'max_attachments': 4,
+		'module': u'Projects',
 		'name': '__common__',
-		'search_fields': 'customer, status, priority, is_active',
-		'section_style': 'Tabbed',
-		'server_code_error': ' ',
-		'subject': ' ',
-		'tag_fields': 'status',
-		'version': 32
+		'search_fields': u'customer, status, priority, is_active',
+		'section_style': u'Tabbed',
+		'server_code_error': u' ',
+		'show_in_menu': 0,
+		'subject': u' ',
+		'tag_fields': u'status',
+		'version': 33
 	},
 
 	# These values are common for all DocField
 	{
-		'doctype': 'DocField',
+		'doctype': u'DocField',
 		'name': '__common__',
-		'parent': 'Project',
-		'parentfield': 'fields',
-		'parenttype': 'DocType'
+		'parent': u'Project',
+		'parentfield': u'fields',
+		'parenttype': u'DocType'
 	},
 
 	# These values are common for all DocPerm
 	{
 		'cancel': 1,
 		'create': 1,
-		'doctype': 'DocPerm',
+		'doctype': u'DocPerm',
 		'name': '__common__',
-		'parent': 'Project',
-		'parentfield': 'permissions',
-		'parenttype': 'DocType',
+		'parent': u'Project',
+		'parentfield': u'permissions',
+		'parenttype': u'DocType',
 		'permlevel': 0,
 		'read': 1,
 		'write': 1
@@ -54,45 +58,42 @@
 	# DocType, Project
 	{
 		'doctype': 'DocType',
-		'name': 'Project'
+		'name': u'Project'
 	},
 
 	# DocPerm
 	{
-		'doctype': 'DocPerm',
-		'idx': 1,
-		'role': 'All'
+		'doctype': u'DocPerm',
+		'role': u'All'
 	},
 
 	# DocPerm
 	{
-		'doctype': 'DocPerm',
-		'idx': 2,
-		'role': 'Projects User'
+		'doctype': u'DocPerm',
+		'role': u'Projects User'
 	},
 
 	# DocField
 	{
-		'colour': 'White:FFF',
-		'description': 'Helps you keep track of your projects and links to Tasks. You can tag a task to a project to track its progress',
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 1,
-		'label': 'Basic Info',
-		'oldfieldtype': 'Section Break',
+		'colour': u'White:FFF',
+		'description': u'Helps you keep track of your projects and links to Tasks. You can tag a task to a project to track its progress',
+		'doctype': u'DocField',
+		'fieldtype': u'Section Break',
+		'label': u'Basic Info',
+		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'description': 'Project will get saved and will be searchable with project name given',
-		'doctype': 'DocField',
-		'fieldname': 'project_name',
-		'fieldtype': 'Data',
-		'idx': 2,
-		'label': 'Project Name',
-		'oldfieldname': 'project_name',
-		'oldfieldtype': 'Data',
+		'description': u'Project will get saved and will be searchable with project name given',
+		'doctype': u'DocField',
+		'fieldname': u'project_name',
+		'fieldtype': u'Data',
+		'label': u'Project Name',
+		'no_copy': 0,
+		'oldfieldname': u'project_name',
+		'oldfieldtype': u'Data',
 		'permlevel': 0,
 		'reqd': 1,
 		'search_index': 1
@@ -100,17 +101,17 @@
 
 	# DocField
 	{
-		'colour': 'White:FFF',
-		'default': 'Open',
-		'doctype': 'DocField',
-		'fieldname': 'status',
-		'fieldtype': 'Select',
-		'idx': 3,
+		'colour': u'White:FFF',
+		'default': u'Open',
+		'doctype': u'DocField',
+		'fieldname': u'status',
+		'fieldtype': u'Select',
 		'in_filter': 1,
-		'label': 'Status',
-		'oldfieldname': 'status',
-		'oldfieldtype': 'Select',
-		'options': 'Open\nCompleted\nCancelled',
+		'label': u'Status',
+		'no_copy': 1,
+		'oldfieldname': u'status',
+		'oldfieldtype': u'Select',
+		'options': u'Open\nCompleted\nCancelled',
 		'permlevel': 0,
 		'reqd': 1,
 		'search_index': 0
@@ -118,368 +119,391 @@
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'is_active',
-		'fieldtype': 'Select',
-		'idx': 4,
-		'label': 'Is Active',
-		'oldfieldname': 'is_active',
-		'oldfieldtype': 'Select',
-		'options': 'Yes\nNo',
-		'permlevel': 0
+		'doctype': u'DocField',
+		'fieldname': u'is_active',
+		'fieldtype': u'Select',
+		'label': u'Is Active',
+		'no_copy': 0,
+		'oldfieldname': u'is_active',
+		'oldfieldtype': u'Select',
+		'options': u'Yes\nNo',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'priority',
-		'fieldtype': 'Select',
-		'idx': 5,
-		'label': 'Priority',
-		'oldfieldname': 'priority',
-		'oldfieldtype': 'Select',
-		'options': 'Medium\nLow\nHigh',
-		'permlevel': 0
+		'doctype': u'DocField',
+		'fieldname': u'priority',
+		'fieldtype': u'Select',
+		'label': u'Priority',
+		'no_copy': 0,
+		'oldfieldname': u'priority',
+		'oldfieldtype': u'Select',
+		'options': u'Medium\nLow\nHigh',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'project_value',
-		'fieldtype': 'Currency',
-		'idx': 6,
-		'label': 'Project Value',
-		'oldfieldname': 'project_value',
-		'oldfieldtype': 'Currency',
+		'doctype': u'DocField',
+		'fieldname': u'project_value',
+		'fieldtype': u'Currency',
+		'label': u'Project Value',
+		'no_copy': 0,
+		'oldfieldname': u'project_value',
+		'oldfieldtype': u'Currency',
 		'permlevel': 0,
 		'reqd': 1,
-		'trigger': 'Client'
+		'search_index': 0,
+		'trigger': u'Client'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'gross_margin_value',
-		'fieldtype': 'Currency',
-		'idx': 7,
-		'label': 'Gross Margin Value',
-		'oldfieldname': 'gross_margin_value',
-		'oldfieldtype': 'Currency',
+		'doctype': u'DocField',
+		'fieldname': u'gross_margin_value',
+		'fieldtype': u'Currency',
+		'label': u'Gross Margin Value',
+		'no_copy': 0,
+		'oldfieldname': u'gross_margin_value',
+		'oldfieldtype': u'Currency',
 		'permlevel': 0,
-		'reqd': 1
+		'reqd': 1,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'per_gross_margin',
-		'fieldtype': 'Currency',
-		'idx': 8,
-		'label': 'Gross Margin %',
-		'oldfieldname': 'per_gross_margin',
-		'oldfieldtype': 'Currency',
+		'doctype': u'DocField',
+		'fieldname': u'per_gross_margin',
+		'fieldtype': u'Currency',
+		'label': u'Gross Margin %',
+		'no_copy': 0,
+		'oldfieldname': u'per_gross_margin',
+		'oldfieldtype': u'Currency',
 		'permlevel': 0,
-		'reqd': 1
+		'reqd': 1,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'est_material_cost',
-		'fieldtype': 'Currency',
-		'idx': 9,
-		'label': 'Estimated Material Cost',
-		'oldfieldname': 'est_material_cost',
-		'oldfieldtype': 'Currency',
+		'doctype': u'DocField',
+		'fieldname': u'est_material_cost',
+		'fieldtype': u'Currency',
+		'label': u'Estimated Material Cost',
+		'no_copy': 0,
+		'oldfieldname': u'est_material_cost',
+		'oldfieldtype': u'Currency',
 		'permlevel': 0,
-		'trigger': 'Client'
+		'search_index': 0,
+		'trigger': u'Client'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'project_type',
-		'fieldtype': 'Data',
-		'idx': 10,
-		'label': 'Project Type',
-		'oldfieldname': 'project_type',
-		'oldfieldtype': 'Data',
-		'permlevel': 0
+		'doctype': u'DocField',
+		'fieldname': u'project_type',
+		'fieldtype': u'Data',
+		'label': u'Project Type',
+		'no_copy': 0,
+		'oldfieldname': u'project_type',
+		'oldfieldtype': u'Data',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'project_start_date',
-		'fieldtype': 'Date',
-		'idx': 11,
+		'doctype': u'DocField',
+		'fieldname': u'project_start_date',
+		'fieldtype': u'Date',
 		'in_filter': 1,
-		'label': 'Project Start Date',
-		'oldfieldname': 'project_start_date',
-		'oldfieldtype': 'Date',
-		'permlevel': 0
+		'label': u'Project Start Date',
+		'no_copy': 0,
+		'oldfieldname': u'project_start_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'completion_date',
-		'fieldtype': 'Date',
-		'idx': 12,
-		'label': 'Completion Date',
-		'oldfieldname': 'completion_date',
-		'oldfieldtype': 'Date',
-		'permlevel': 0
+		'doctype': u'DocField',
+		'fieldname': u'completion_date',
+		'fieldtype': u'Date',
+		'label': u'Completion Date',
+		'no_copy': 0,
+		'oldfieldname': u'completion_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'act_completion_date',
-		'fieldtype': 'Date',
-		'idx': 13,
-		'label': 'Actual Completion Date',
-		'oldfieldname': 'act_completion_date',
-		'oldfieldtype': 'Date',
-		'permlevel': 0
+		'doctype': u'DocField',
+		'fieldname': u'act_completion_date',
+		'fieldtype': u'Date',
+		'label': u'Actual Completion Date',
+		'no_copy': 0,
+		'oldfieldname': u'act_completion_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'amended_from',
-		'fieldtype': 'Data',
+		'doctype': u'DocField',
+		'fieldname': u'amended_from',
+		'fieldtype': u'Data',
 		'hidden': 1,
-		'idx': 14,
-		'label': 'Amended From',
+		'label': u'Amended From',
 		'no_copy': 1,
-		'oldfieldname': 'amended_from',
-		'oldfieldtype': 'Data',
+		'oldfieldname': u'amended_from',
+		'oldfieldtype': u'Data',
 		'permlevel': 1,
-		'print_hide': 0
+		'print_hide': 0,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'amemdment_date',
-		'fieldtype': 'Date',
+		'doctype': u'DocField',
+		'fieldname': u'amemdment_date',
+		'fieldtype': u'Date',
 		'hidden': 1,
-		'idx': 15,
-		'label': 'Amemdment Date',
+		'label': u'Amemdment Date',
 		'no_copy': 1,
-		'oldfieldname': 'amemdment_date',
-		'oldfieldtype': 'Date',
-		'permlevel': 1
+		'oldfieldname': u'amemdment_date',
+		'oldfieldtype': u'Date',
+		'permlevel': 1,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 16,
-		'label': 'Project Details',
-		'oldfieldtype': 'Section Break',
-		'options': 'Simple',
+		'doctype': u'DocField',
+		'fieldtype': u'Section Break',
+		'label': u'Project Details',
+		'oldfieldtype': u'Section Break',
+		'options': u'Simple',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldtype': 'Column Break',
-		'idx': 17,
-		'oldfieldtype': 'Column Break',
+		'doctype': u'DocField',
+		'fieldtype': u'Column Break',
+		'oldfieldtype': u'Column Break',
 		'permlevel': 0,
-		'width': '50%'
+		'width': u'50%'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 18,
-		'oldfieldtype': 'Section Break',
-		'options': 'Simple',
+		'doctype': u'DocField',
+		'fieldtype': u'Section Break',
+		'oldfieldtype': u'Section Break',
+		'options': u'Simple',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'notes',
-		'fieldtype': 'Text Editor',
-		'idx': 19,
-		'label': 'Notes',
-		'oldfieldname': 'notes',
-		'oldfieldtype': 'Text Editor',
+		'doctype': u'DocField',
+		'fieldname': u'notes',
+		'fieldtype': u'Text Editor',
+		'label': u'Notes',
+		'no_copy': 0,
+		'oldfieldname': u'notes',
+		'oldfieldtype': u'Text Editor',
+		'permlevel': 0,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldtype': u'Section Break',
+		'label': u'Customer Details',
+		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 20,
-		'label': 'Customer Details',
-		'oldfieldtype': 'Section Break',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'colour': 'White:FFF',
-		'description': 'Select name of Customer to whom project belongs',
-		'doctype': 'DocField',
-		'fieldname': 'customer',
-		'fieldtype': 'Link',
-		'idx': 21,
+		'colour': u'White:FFF',
+		'description': u'Select name of Customer to whom project belongs',
+		'doctype': u'DocField',
+		'fieldname': u'customer',
+		'fieldtype': u'Link',
 		'in_filter': 1,
-		'label': 'Customer',
-		'oldfieldname': 'customer',
-		'oldfieldtype': 'Link',
-		'options': 'Customer',
+		'label': u'Customer',
+		'no_copy': 0,
+		'oldfieldname': u'customer',
+		'oldfieldtype': u'Link',
+		'options': u'Customer',
 		'permlevel': 0,
 		'print_hide': 1,
 		'reqd': 0,
 		'search_index': 1,
-		'trigger': 'Client'
+		'trigger': u'Client'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'customer_name',
-		'fieldtype': 'Data',
-		'idx': 22,
+		'doctype': u'DocField',
+		'fieldname': u'customer_name',
+		'fieldtype': u'Data',
 		'in_filter': 1,
-		'label': 'Customer Name',
-		'oldfieldname': 'customer_name',
-		'oldfieldtype': 'Data',
+		'label': u'Customer Name',
+		'no_copy': 0,
+		'oldfieldname': u'customer_name',
+		'oldfieldtype': u'Data',
 		'permlevel': 1,
 		'search_index': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'customer_address',
-		'fieldtype': 'Small Text',
-		'idx': 23,
-		'label': 'Customer Address',
-		'oldfieldname': 'customer_address',
-		'oldfieldtype': 'Small Text',
-		'permlevel': 1
+		'doctype': u'DocField',
+		'fieldname': u'customer_address',
+		'fieldtype': u'Small Text',
+		'label': u'Customer Address',
+		'no_copy': 0,
+		'oldfieldname': u'customer_address',
+		'oldfieldtype': u'Small Text',
+		'permlevel': 1,
+		'search_index': 0
 	},
 
 	# DocField
 	{
-		'colour': 'White:FFF',
-		'doctype': 'DocField',
-		'fieldname': 'contact_person',
-		'fieldtype': 'Link',
-		'idx': 24,
+		'colour': u'White:FFF',
+		'doctype': u'DocField',
+		'fieldname': u'contact_person',
+		'fieldtype': u'Link',
 		'in_filter': 1,
-		'label': 'Contact Person',
-		'oldfieldname': 'contact_person',
-		'oldfieldtype': 'Link',
-		'permlevel': 0,
-		'reqd': 0,
-		'trigger': 'Client'
-	},
-
-	# DocField
-	{
-		'colour': 'White:FFF',
-		'doctype': 'DocField',
-		'fieldname': 'territory',
-		'fieldtype': 'Link',
-		'idx': 25,
-		'in_filter': 1,
-		'label': 'Territory',
-		'oldfieldname': 'territory',
-		'oldfieldtype': 'Link',
-		'options': 'Territory',
+		'label': u'Contact Person',
+		'no_copy': 0,
+		'oldfieldname': u'contact_person',
+		'oldfieldtype': u'Link',
 		'permlevel': 0,
 		'reqd': 0,
 		'search_index': 0,
-		'trigger': 'Client'
+		'trigger': u'Client'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'contact_no',
-		'fieldtype': 'Data',
-		'idx': 26,
-		'label': 'Contact No',
-		'oldfieldname': 'contact_no',
-		'oldfieldtype': 'Data',
-		'permlevel': 1
+		'colour': u'White:FFF',
+		'doctype': u'DocField',
+		'fieldname': u'territory',
+		'fieldtype': u'Link',
+		'in_filter': 1,
+		'label': u'Territory',
+		'no_copy': 0,
+		'oldfieldname': u'territory',
+		'oldfieldtype': u'Link',
+		'options': u'Territory',
+		'permlevel': 0,
+		'reqd': 0,
+		'search_index': 0,
+		'trigger': u'Client'
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'email_id',
-		'fieldtype': 'Data',
-		'idx': 27,
-		'label': 'Email Id',
-		'oldfieldname': 'email_id',
-		'oldfieldtype': 'Data',
-		'permlevel': 1
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'customer_group',
-		'fieldtype': 'Link',
-		'idx': 28,
-		'label': 'Customer Group',
-		'oldfieldname': 'customer_group',
-		'oldfieldtype': 'Link',
-		'options': 'Customer Group',
+		'doctype': u'DocField',
+		'fieldname': u'contact_no',
+		'fieldtype': u'Data',
+		'label': u'Contact No',
+		'no_copy': 0,
+		'oldfieldname': u'contact_no',
+		'oldfieldtype': u'Data',
 		'permlevel': 1,
 		'search_index': 0
 	},
 
 	# DocField
 	{
-		'colour': 'White:FFF',
-		'description': 'Important dates and commitments in your project life cycle',
-		'doctype': 'DocField',
-		'fieldtype': 'Section Break',
-		'idx': 29,
-		'label': 'Milestones',
-		'oldfieldtype': 'Section Break',
+		'doctype': u'DocField',
+		'fieldname': u'email_id',
+		'fieldtype': u'Data',
+		'label': u'Email Id',
+		'no_copy': 0,
+		'oldfieldname': u'email_id',
+		'oldfieldtype': u'Data',
+		'permlevel': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'customer_group',
+		'fieldtype': u'Link',
+		'label': u'Customer Group',
+		'no_copy': 0,
+		'oldfieldname': u'customer_group',
+		'oldfieldtype': u'Link',
+		'options': u'Customer Group',
+		'permlevel': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'colour': u'White:FFF',
+		'description': u'Important dates and commitments in your project life cycle',
+		'doctype': u'DocField',
+		'fieldtype': u'Section Break',
+		'label': u'Milestones',
+		'oldfieldtype': u'Section Break',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
-		'doctype': 'DocField',
-		'fieldname': 'project_milestones',
-		'fieldtype': 'Table',
-		'idx': 30,
-		'label': 'Project Milestones',
-		'oldfieldname': 'project_milestones',
-		'oldfieldtype': 'Table',
-		'options': 'Project Milestone',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'trash_reason',
-		'fieldtype': 'Small Text',
-		'hidden': 1,
-		'idx': 31,
-		'label': 'Trash Reason',
-		'oldfieldname': 'trash_reason',
-		'oldfieldtype': 'Small Text',
+		'doctype': u'DocField',
+		'fieldname': u'project_milestones',
+		'fieldtype': u'Table',
+		'label': u'Project Milestones',
+		'no_copy': 0,
+		'oldfieldname': u'project_milestones',
+		'oldfieldtype': u'Table',
+		'options': u'Project Milestone',
 		'permlevel': 0,
-		'print_hide': 1
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'trash_reason',
+		'fieldtype': u'Small Text',
+		'hidden': 1,
+		'label': u'Trash Reason',
+		'no_copy': 0,
+		'oldfieldname': u'trash_reason',
+		'oldfieldtype': u'Small Text',
+		'permlevel': 0,
+		'print_hide': 1,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'file_list',
+		'fieldtype': u'Small Text',
+		'label': u'File List',
+		'no_copy': 1,
+		'permlevel': 0,
+		'search_index': 0
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/item_group/item_group.txt b/erpnext/setup/doctype/item_group/item_group.txt
index 7c3e928..e744901 100644
--- a/erpnext/setup/doctype/item_group/item_group.txt
+++ b/erpnext/setup/doctype/item_group/item_group.txt
@@ -5,7 +5,7 @@
 	{
 		'creation': '2010-08-08 17:09:06',
 		'docstatus': 0,
-		'modified': '2012-02-06 17:38:00',
+		'modified': '2012-03-22 14:40:03',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -27,7 +27,7 @@
 		'section_style': u'Simple',
 		'server_code_error': u' ',
 		'show_in_menu': 0,
-		'version': 58
+		'version': 59
 	},
 
 	# These values are common for all DocField
@@ -129,10 +129,12 @@
 		'fieldname': u'item_group_name',
 		'fieldtype': u'Data',
 		'label': u'Item Group Name',
+		'no_copy': 0,
 		'oldfieldname': u'item_group_name',
 		'oldfieldtype': u'Data',
 		'permlevel': 0,
-		'reqd': 1
+		'reqd': 1,
+		'search_index': 0
 	},
 
 	# DocField
@@ -141,9 +143,11 @@
 		'fieldname': u'description',
 		'fieldtype': u'Text',
 		'label': u'Description',
+		'no_copy': 0,
 		'oldfieldname': u'description',
 		'oldfieldtype': u'Text',
 		'permlevel': 0,
+		'search_index': 0,
 		'width': u'300px'
 	},
 
@@ -155,7 +159,22 @@
 		'fieldname': u'show_in_website',
 		'fieldtype': u'Check',
 		'label': u'Show in Website',
-		'permlevel': 0
+		'no_copy': 0,
+		'permlevel': 0,
+		'search_index': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
+		'fieldname': u'show_in_catalogue',
+		'fieldtype': u'Check',
+		'label': u'Show in catalogue',
+		'no_copy': 0,
+		'oldfieldname': u'show_in_catalogue',
+		'oldfieldtype': u'Check',
+		'permlevel': 0,
+		'search_index': 0
 	},
 
 	# DocField
@@ -164,11 +183,13 @@
 		'fieldname': u'parent_item_group',
 		'fieldtype': u'Link',
 		'label': u'Parent Item Group',
+		'no_copy': 0,
 		'oldfieldname': u'parent_item_group',
 		'oldfieldtype': u'Link',
 		'options': u'Item Group',
 		'permlevel': 0,
 		'reqd': 1,
+		'search_index': 0,
 		'trigger': u'Client'
 	},
 
@@ -180,11 +201,13 @@
 		'fieldname': u'is_group',
 		'fieldtype': u'Select',
 		'label': u'Has Child Node',
+		'no_copy': 0,
 		'oldfieldname': u'is_group',
 		'oldfieldtype': u'Select',
 		'options': u'\nYes\nNo',
 		'permlevel': 0,
-		'reqd': 1
+		'reqd': 1,
+		'search_index': 0
 	},
 
 	# DocField
@@ -193,9 +216,11 @@
 		'fieldname': u'trash_reason',
 		'fieldtype': u'Small Text',
 		'label': u'Trash Reason',
+		'no_copy': 0,
 		'oldfieldname': u'trash_reason',
 		'oldfieldtype': u'Small Text',
-		'permlevel': 1
+		'permlevel': 1,
+		'search_index': 0
 	},
 
 	# DocField
@@ -245,6 +270,7 @@
 		'options': u'Item Group',
 		'permlevel': 0,
 		'print_hide': 1,
-		'report_hide': 1
+		'report_hide': 1,
+		'search_index': 0
 	}
-]
+]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/update_series/__init__.py b/erpnext/setup/doctype/update_series/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/setup/doctype/update_series/__init__.py
+++ /dev/null
diff --git a/erpnext/setup/doctype/update_series/update_series.py b/erpnext/setup/doctype/update_series/update_series.py
deleted file mode 100644
index b8a0477..0000000
--- a/erpnext/setup/doctype/update_series/update_series.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Please edit this list and import only required elements
-import webnotes
-
-from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
-from webnotes.model import db_exists
-from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
-from webnotes.model.doclist import getlist, copy_doclist
-from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
-from webnotes import session, form, is_testing, msgprint, errprint
-
-set = webnotes.conn.set
-sql = webnotes.conn.sql
-get_value = webnotes.conn.get_value
-in_transaction = webnotes.conn.in_transaction
-convert_to_lists = webnotes.conn.convert_to_lists
-
-# -----------------------------------------------------------------------------------------
-
-class DocType:
-  def __init__(self, doc, doclist=[]):
-    self.doc = doc
-    self.doclist = doclist
-
-  def update_series(self):
-    series = sql("select name,current from `tabSeries` where name = %s", self.doc.prefix,as_dict = 1)
-    if series:
-      msgprint("This is going to update Series with Prefix : " + series[0]['name'] + " from Current : " + cstr(series[0]['current']) + " to Current : "+ cstr(self.doc.current))
-      sql("update `tabSeries` set current = '%s' where name = '%s'" % (self.doc.current,series[0]['name']))
-      msgprint("Series Updated Successfully")
-    else:
-      msgprint("Please Check Prefix as there is no such Prefix : "+ self.doc.prefix +" Or Try Insert Button")
-
-  def insert_series(self):
-    #sql("start transaction")
-    series = sql("select name,current from `tabSeries` where name = %s", self.doc.prefix, as_dict = 1)
-    if series:
-      msgprint("Series with Prefix : " + series[0]['name'] + "already in the system . Try Update Button")
-    else:
-      msgprint("This is going to Insert Series with Prefix : " + cstr(self.doc.prefix) + " Current: " + cstr(self.doc.current))
-      sql("insert into `tabSeries` (name,current) values ('%s','%s')" % (self.doc.prefix, self.doc.current))
-      msgprint("Series Inserted Successfully")
diff --git a/erpnext/setup/doctype/update_series/update_series.txt b/erpnext/setup/doctype/update_series/update_series.txt
deleted file mode 100644
index b3203be..0000000
--- a/erpnext/setup/doctype/update_series/update_series.txt
+++ /dev/null
@@ -1,104 +0,0 @@
-# DocType, Update Series
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2010-08-08 17:09:29',
-		'docstatus': 0,
-		'modified': '2010-09-20 14:06:57',
-		'modified_by': 'Administrator',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all DocType
-	{
-		'allow_copy': 1,
-		'allow_email': 1,
-		'allow_print': 1,
-		'colour': 'White:FFF',
-		'doctype': 'DocType',
-		'hide_toolbar': 0,
-		'in_create': 1,
-		'issingle': 1,
-		'module': 'Setup',
-		'name': '__common__',
-		'read_only': 1,
-		'section_style': 'Simple',
-		'server_code': 'class DocType:\n  def __init__(self, doc, doclist=[]):\n    self.doc = doc\n    self.doclist = doclist\n\n  def update_series(self):\n    series = sql("select name,current from `tabSeries` where name = %s", self.doc.prefix,as_dict = 1)\n    if series:\n      msgprint("This is going to update Series with Prefix : " + series[0][\'name\'] + " from Current : " + cstr(series[0][\'current\']) + " to Current : "+ cstr(self.doc.current))\n      sql("update `tabSeries` set current = \'%s\' where name = \'%s\'" % (self.doc.current,series[0][\'name\']))\n      msgprint("Series Updated Successfully")\n    else:\n      msgprint("Please Check Prefix as there is no such Prefix : "+ self.doc.prefix +" Or Try Insert Button")\n\n  def insert_series(self):\n    #sql("start transaction")\n    series = sql("select name,current from `tabSeries` where name = %s", self.doc.prefix, as_dict = 1)\n    if series:\n      msgprint("Series with Prefix : " + series[0][\'name\'] + "already in the system . Try Update Button")\n    else:\n      msgprint("This is going to Insert Series with Prefix : " + cstr(self.doc.prefix) + " Current: " + cstr(self.doc.current))\n      sql("insert into `tabSeries` (name,current) values (\'%s\',\'%s\')" % (self.doc.prefix, self.doc.current))\n      msgprint("Series Inserted Successfully")',
-		'server_code_error': ' ',
-		'show_in_menu': 0,
-		'version': 5
-	},
-
-	# These values are common for all DocField
-	{
-		'doctype': 'DocField',
-		'name': '__common__',
-		'parent': 'Update Series',
-		'parentfield': 'fields',
-		'parenttype': 'DocType',
-		'permlevel': 0
-	},
-
-	# These values are common for all DocPerm
-	{
-		'create': 0,
-		'doctype': 'DocPerm',
-		'idx': 1,
-		'name': '__common__',
-		'parent': 'Update Series',
-		'parentfield': 'permissions',
-		'parenttype': 'DocType',
-		'permlevel': 0,
-		'read': 1,
-		'role': 'System Manager',
-		'write': 1
-	},
-
-	# DocType, Update Series
-	{
-		'doctype': 'DocType',
-		'name': 'Update Series'
-	},
-
-	# DocPerm
-	{
-		'doctype': 'DocPerm'
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'prefix',
-		'fieldtype': 'Data',
-		'idx': 1,
-		'label': 'Prefix'
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldname': 'current',
-		'fieldtype': 'Int',
-		'idx': 2,
-		'label': 'Current'
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldtype': 'Button',
-		'idx': 3,
-		'label': 'Update',
-		'options': 'update_series'
-	},
-
-	# DocField
-	{
-		'doctype': 'DocField',
-		'fieldtype': 'Button',
-		'idx': 4,
-		'label': 'Insert',
-		'options': 'insert_series'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/utilities/doctype/file_browser_control/__init__.py b/erpnext/utilities/doctype/file_browser_control/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/utilities/doctype/file_browser_control/__init__.py
+++ /dev/null
diff --git a/erpnext/utilities/doctype/file_browser_control/file_browser_control.py b/erpnext/utilities/doctype/file_browser_control/file_browser_control.py
deleted file mode 100644
index 8e0e3c4..0000000
--- a/erpnext/utilities/doctype/file_browser_control/file_browser_control.py
+++ /dev/null
@@ -1,214 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Please edit this list and import only required elements
-import webnotes
-
-from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, generate_hash, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add
-from webnotes.model import db_exists
-from webnotes.model.doc import Document, addchild, removechild, getchildren, make_autoname, SuperDocType
-from webnotes.model.doclist import getlist, copy_doclist
-from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
-from webnotes import session, form, is_testing, msgprint, errprint
-
-set = webnotes.conn.set
-sql = webnotes.conn.sql
-get_value = webnotes.conn.get_value
-in_transaction = webnotes.conn.in_transaction
-convert_to_lists = webnotes.conn.convert_to_lists
-	
-# -----------------------------------------------------------------------------------------
-
-
-class DocType:
-    def __init__(self,doc,doclist=[]):
-        self.doc = doc
-        self.doclist = doclist
-        
-    # All root file groups(where parent_group is null).
-    def get_root_file_grps(self):
-        fl_grp = convert_to_lists(sql("select name,group_name,ifnull(can_edit,''),ifnull(can_view,''),owner from `tabFile Group` where (parent_group='' or parent_group is null)"))
-        return fl_grp
-    
-    # Get children of selected file group.
-    def get_children(self,grp):
-        ret = {}
-        ret['parent_grp'] = grp
-            
-        fl_grp = convert_to_lists(sql("select name,group_name,ifnull(can_edit,''),ifnull(can_view,''),owner from `tabFile Group` where parent_group=%s",grp))
-        ret['fl_grp'] = fl_grp or ''
-        fl = convert_to_lists(sql("select name,ifnull(file_name,''),ifnull(file_list,''),ifnull(can_edit,''),ifnull(can_view,''),owner from tabFile where file_group=%s and (file_name != '' and file_name is not null)",grp))
-        ret['fl'] = fl or ''
-
-        return ret
-    
-    # Create a new file group.
-    def create_new_grp(self,arg):
-        arg = eval(arg)
-        
-        grp = Document('File Group')
-        grp.group_name = arg['grp_nm']
-        grp.parent_group = arg['parent_grp']
-        grp.description = arg['desc']
-        grp.name = arg['grp_nm']
-        grp.save(1)
-        msgprint('Created a New Group')
-        return grp.name
-    
-    # Create a new file.
-    def create_new_file(self,arg):
-        arg = eval(arg)
-        
-        f = Document('File')
-        f.file_name = arg['file_name']
-        f.description = arg['desc']
-        f.type = arg['type']
-        f.file_group = arg['file_grp']
-        f_obj = get_obj(doc=f)
-        f_obj.validate()
-        f_obj.doc.save(1)
-        msgprint('Created a New File')
-        ret = {
-            'name'  :   f_obj.doc.name,
-            'label' :   f_obj.doc.file_name
-        }
-        return ret
-    
-    # Update changes done to selected file group.
-    def update_grp(self,arg):
-        arg = eval(arg)
-        sql("update `tabFile Group` set group_name=%s, parent_group=%s, description=%s where name=%s",(arg['grp_nm'],arg['parent_grp'],arg['desc'],arg['name']))
-        msgprint("Changes are saved.")
-        return arg['name']
-
-    # Update changes done to selected file.
-    def update_file(self,arg):
-        arg = eval(arg)
-        sql("update `tabFile` set description=%s, file_group=%s where name=%s",(arg['desc'],arg['file_grp'],arg['name']))
-        msgprint("Changes are saved.")        
-        return arg['name']
-        
-    # Get details of selected file.
-    def get_file_details(self,file_id):
-        file_det = convert_to_lists(sql("select name,file_name, description, file_group, file_list from tabFile where name=%s",file_id))
-        file_det = {
-            'name' : file_det[0][0] or '',
-            'file_name' : file_det[0][1] or '',
-            'description' : file_det[0][2] or '',
-            'file_group' : file_det[0][3] or '',
-            'file_list' : file_det[0][4] or ''
-        }
-        return file_det
-    
-    # Delete File Data and File record.
-    def delete(self,arg):
-        arg = eval(arg)
-        if arg['dt'] == 'File Group':
-            sql("delete from `tabFile Group` where name= %s", arg['dn'])
-        elif arg['dt'] == 'File':
-			file_list = sql("select file_list from tabFile where name=%s", arg['dn'])[0][0] or ''
-			f_id = file_list.split(',')[-1]
-			if f_id:
-				sql("delete from `tabFile Data` where name=%s", f_id)
-				sql("delete from tabFile where name = %s", arg['dn'])	
-        else:
-            pass
-			
-    #Move to another group.
-    def move(self,arg):
-        msgprint('need to write code')
-
-    # Upload Image
-    def upload_many(self,form):
-        import os
-        # from file browser
-        if form.getvalue('form_name') == 'File Browser':
-            if form.getvalue('filedata'):
-                i = form['filedata']
-
-                #creat file data                
-                fd = Document('File Data')
-                fd.blob_content = i.file.read()
-                fd.file_name = i.filename
-                
-                file_det = form.getvalue('file_det').split('~~')
-                
-                if(file_det[0] == 'NIL'):
-                    file_desc = ''
-                else:
-                    file_desc = file_det[0]
-                
-                if(file_det[1] == 'NIL'):
-                    file_grp = ''
-                    return 'File Group is mandatory.'
-                    raise Exception
-                else:
-                    file_grp = file_det[1]
-                
-                if "" in fd.file_name:
-                  fd.file_name = fd.file_name.split("")[-1]
-                if '/' in fd.file_name:
-                  fd.file_name = fd.file_name.split('/')[-1]
-                fd.save(1)
-                
-                f = Document('File')
-                f.file_list = fd.file_name + ',' + fd.name
-                f.file_name = fd.file_name
-                f.description = file_desc
-                f.file_group = file_grp
-                f.save(1)
-                
-                ret = {
-                    'name'  :   f.name,
-                    'file_name' :   f.file_name
-                }
-                    
-                return ret
-            else:
-                return 'No file found.'
-        else:
-            return 'No file found.'
-    
-    # Get all system roles.
-    def get_all_roles(self):
-        roles = convert_to_lists(sql("select name from tabRole"))
-        return roles
-    
-    # Get details for selected File Group.
-    def get_fg_details(self,grp):
-        grp_det = convert_to_lists(sql("select name,group_name, ifnull(parent_group,''), ifnull(description,''), ifnull(can_edit,''),ifnull(can_view,''),owner from `tabFile Group` where name=%s",grp))
-        grp_det = {
-            'Name' : grp_det[0][0] or '',
-            'Group Name' : grp_det[0][1] or '',
-            'Parent Group' : grp_det[0][2] or '',
-            'Description' : grp_det[0][3] or '',
-            'Can Edit' : grp_det[0][4] or '',
-            'Can View' : grp_det[0][5] or '',
-            'Owner' : grp_det[0][6] or ''
-        }
-        return grp_det
-    
-    # Update Edit/ View privileges to selected File/ File Group.
-    def update_privileges(self,arg):
-        arg = eval(arg)
-        sql("update `tab%s` set can_edit='%s', can_view='%s' where name='%s'" % (arg['type'],arg['edit_roles'], arg['view_roles'], arg['name']))
-        msgprint('Privileges updated.')
-    
-    # Get Edit/ View privileges from selected File/ File Group.
-    def get_privileges(self,arg):
-        arg = eval(arg)
-        privilege = convert_to_lists(sql("select ifnull(can_edit,''), ifnull(can_view,''),owner from `tab%s` where name='%s'" % (arg['dt'],arg['dn'])))
-        return privilege
diff --git a/erpnext/utilities/doctype/file_browser_control/file_browser_control.txt b/erpnext/utilities/doctype/file_browser_control/file_browser_control.txt
deleted file mode 100644
index 2988e17..0000000
--- a/erpnext/utilities/doctype/file_browser_control/file_browser_control.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-# DocType, File Browser Control
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2009-10-28 10:25:03',
-		'docstatus': 0,
-		'modified': '2010-12-27 11:09:53',
-		'modified_by': 'umair@iwebnotes.com',
-		'owner': 'Administrator'
-	},
-
-	# These values are common for all DocType
-	{
-		'colour': 'White:FFF',
-		'doctype': 'DocType',
-		'issingle': 1,
-		'module': 'Utilities',
-		'name': '__common__',
-		'section_style': 'Simple',
-		'server_code_error': ' ',
-		'show_in_menu': 0,
-		'version': 81
-	},
-
-	# DocType, File Browser Control
-	{
-		'doctype': 'DocType',
-		'name': 'File Browser Control'
-	}
-]
\ No newline at end of file
