diff --git a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.js b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.js
index 732b2b0..4e478ee 100644
--- a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.js
+++ b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.js
@@ -19,6 +19,33 @@
 		);
 		// frm.change_custom_button_type(__('Bisect'), null, 'primary');
 	},
+	bisect_left(frm) {
+		frm.call({
+			doc: frm.doc,
+			method: 'bisect_left',
+			callback: (r) => {
+				console.log(r);
+			}
+		});
+	},
+	bisect_right(frm) {
+		frm.call({
+			doc: frm.doc,
+			method: 'bisect_right',
+			callback: (r) => {
+				console.log(r);
+			}
+		});
+	},
+	move_up(frm) {
+		frm.call({
+			doc: frm.doc,
+			method: 'move_up',
+			callback: (r) => {
+				console.log(r);
+			}
+		});
+	},
 	build_tree(frm) {
 		frm.call({
 			doc: frm.doc,
diff --git a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json
index e0b84ad..c5715fe 100644
--- a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json
+++ b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json
@@ -12,10 +12,6 @@
   "to_date",
   "column_break_iwny",
   "algorithm",
-  "section_break_lwr2",
-  "current_from_date",
-  "column_break_uuic",
-  "current_to_date",
   "section_break_zbty",
   "current_node",
   "tree"
@@ -59,31 +55,13 @@
    "fieldname": "current_node",
    "fieldtype": "JSON",
    "label": "Current Node"
-  },
-  {
-   "fieldname": "section_break_lwr2",
-   "fieldtype": "Section Break"
-  },
-  {
-   "fieldname": "current_from_date",
-   "fieldtype": "Date",
-   "label": "Current From Date"
-  },
-  {
-   "fieldname": "current_to_date",
-   "fieldtype": "Date",
-   "label": "Current To Date"
-  },
-  {
-   "fieldname": "column_break_uuic",
-   "fieldtype": "Column Break"
   }
  ],
  "hide_toolbar": 1,
  "index_web_pages_for_search": 1,
  "issingle": 1,
  "links": [],
- "modified": "2023-09-25 17:05:13.384320",
+ "modified": "2023-09-25 21:15:47.905386",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Bisect Accounting Statements",
diff --git a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py
index 7c68f18..accc8a9 100644
--- a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py
+++ b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py
@@ -124,8 +124,12 @@
 		tree = json.loads(tree)
 		for x in tree:
 			x = frappe._dict(x)
-			n = Node(x.parent, x.period, x.left_child, x.right_child)
-			n.period = x.period
+			n = Node(x.parent, None, x.left_child, x.right_child)
+			date_format = guess_date_format(x.period[0])
+			n.period = (
+				datetime.datetime.strptime(x.period[0], date_format),
+				datetime.datetime.strptime(x.period[1], date_format),
+			)
 			n.difference = x.difference
 			x.profit_and_loss_summary = x.profit_and_loss_summary
 			x.balance_sheet_summary = x.balance_sheet_summary
@@ -187,9 +191,37 @@
 		for x in self.tree_instance.btree:
 			print(x)
 
-		print("Root", self.tree_instnace.current_node)
+		print("Root", self.tree_instance.current_node)
 
 		self.tree = json.dumps(self.tree_instance.as_list())
-		self.current_node = json.dumps(self.tree_intance.btree[0].as_dict())
+		self.current_node = json.dumps(self.tree_instance.btree[0].as_dict())
 
-		print(guess_date_format(json.loads(self.current_node)["period"][0]))
+	@frappe.whitelist()
+	def bisect_left(self):
+		if self.tree_instance.current_node is not None:
+			if self.tree_instance.current_node.left_child is not None:
+				self.current_node = self.tree_instance.btree[self.tree_instance.current_node.left_child]
+				self.current_node = json.dumps(self.current_node.as_dict())
+				self.save()
+			else:
+				frappe.msgprint("No more children on Left")
+
+	@frappe.whitelist()
+	def bisect_right(self):
+		if self.tree_instance.current_node is not None:
+			if self.tree_instance.current_node.right_child is not None:
+				self.current_node = self.tree_instance.btree[self.tree_instance.current_node.right_child]
+				self.current_node = json.dumps(self.current_node.as_dict())
+				self.save()
+			else:
+				frappe.msgprint("No more children on Right")
+
+	@frappe.whitelist()
+	def move_up(self):
+		if self.tree_instance.current_node is not None:
+			if self.tree_instance.current_node.parent is not None:
+				self.current_node = self.tree_instance.btree[self.tree_instance.current_node.parent]
+				self.current_node = json.dumps(self.current_node.as_dict())
+				self.save()
+			else:
+				frappe.msgprint("Reached Root")
