diff --git a/erpnext/e_commerce/api.py b/erpnext/e_commerce/api.py
index 4f83f08..4c9f4a7 100644
--- a/erpnext/e_commerce/api.py
+++ b/erpnext/e_commerce/api.py
@@ -5,8 +5,8 @@
 import frappe
 from frappe.utils import cint
 
-from erpnext.e_commerce.product_query import ProductQuery
-from erpnext.e_commerce.filters import ProductFiltersBuilder
+from erpnext.e_commerce.product_data_engine.query import ProductQuery
+from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
 from erpnext.setup.doctype.item_group.item_group import get_child_groups
 
 @frappe.whitelist(allow_guest=True)
diff --git a/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py b/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py
index ec989a6..1b59873 100644
--- a/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py
+++ b/erpnext/e_commerce/doctype/e_commerce_settings/e_commerce_settings.py
@@ -7,7 +7,7 @@
 from frappe import _, msgprint
 from frappe.model.document import Document
 from frappe.utils import unique
-from erpnext.e_commerce.website_item_indexing import create_website_items_index, ALLOWED_INDEXABLE_FIELDS_SET, is_search_module_loaded
+from erpnext.e_commerce.redisearch import create_website_items_index, ALLOWED_INDEXABLE_FIELDS_SET, is_search_module_loaded
 
 class ShoppingCartSetupError(frappe.ValidationError): pass
 
diff --git a/erpnext/e_commerce/doctype/website_item/website_item.py b/erpnext/e_commerce/doctype/website_item/website_item.py
index 99c630b..4216126 100644
--- a/erpnext/e_commerce/doctype/website_item/website_item.py
+++ b/erpnext/e_commerce/doctype/website_item/website_item.py
@@ -17,7 +17,7 @@
 from erpnext.utilities.product import get_price
 
 # SEARCH
-from erpnext.e_commerce.website_item_indexing import (
+from erpnext.e_commerce.redisearch import (
 	insert_item_to_index,
 	update_index_for_item,
 	delete_item_from_index
diff --git a/erpnext/e_commerce/shopping_cart/search.py b/erpnext/e_commerce/legacy_search.py
similarity index 98%
rename from erpnext/e_commerce/shopping_cart/search.py
rename to erpnext/e_commerce/legacy_search.py
index 30656be..752c33e 100644
--- a/erpnext/e_commerce/shopping_cart/search.py
+++ b/erpnext/e_commerce/legacy_search.py
@@ -6,6 +6,7 @@
 from whoosh.qparser import FieldsPlugin, MultifieldParser, WildcardPlugin
 from whoosh.query import Prefix
 
+# TODO: Make obsolete
 INDEX_NAME = "products"
 
 class ProductSearch(FullTextSearch):
diff --git a/erpnext/e_commerce/product_configurator/test_product_configurator.py b/erpnext/e_commerce/product_configurator/test_product_configurator.py
index 960dc97..2f5a24f 100644
--- a/erpnext/e_commerce/product_configurator/test_product_configurator.py
+++ b/erpnext/e_commerce/product_configurator/test_product_configurator.py
@@ -4,7 +4,7 @@
 from bs4 import BeautifulSoup
 import frappe, unittest
 from frappe.utils import get_html_for_route
-from erpnext.e_commerce.product_query import ProductQuery
+from erpnext.e_commerce.product_data_engine.query import ProductQuery
 from erpnext.e_commerce.doctype.website_item.website_item import make_website_item
 
 test_dependencies = ["Item"]
diff --git a/erpnext/e_commerce/filters.py b/erpnext/e_commerce/product_data_engine/filters.py
similarity index 99%
rename from erpnext/e_commerce/filters.py
rename to erpnext/e_commerce/product_data_engine/filters.py
index 0d96a11..75137a7 100644
--- a/erpnext/e_commerce/filters.py
+++ b/erpnext/e_commerce/product_data_engine/filters.py
@@ -1,6 +1,5 @@
 # Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
-
 import frappe
 from frappe import _dict
 from frappe.utils import floor
diff --git a/erpnext/e_commerce/product_query.py b/erpnext/e_commerce/product_data_engine/query.py
similarity index 98%
rename from erpnext/e_commerce/product_query.py
rename to erpnext/e_commerce/product_data_engine/query.py
index 3db87ab..5c67272 100644
--- a/erpnext/e_commerce/product_query.py
+++ b/erpnext/e_commerce/product_data_engine/query.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
 import frappe
diff --git a/erpnext/e_commerce/product_grid.js b/erpnext/e_commerce/product_ui/grid.js
similarity index 100%
rename from erpnext/e_commerce/product_grid.js
rename to erpnext/e_commerce/product_ui/grid.js
diff --git a/erpnext/e_commerce/product_list.js b/erpnext/e_commerce/product_ui/list.js
similarity index 100%
rename from erpnext/e_commerce/product_list.js
rename to erpnext/e_commerce/product_ui/list.js
diff --git a/erpnext/e_commerce/product_search.js b/erpnext/e_commerce/product_ui/search.js
similarity index 96%
rename from erpnext/e_commerce/product_search.js
rename to erpnext/e_commerce/product_ui/search.js
index ebe0076..b93c975 100644
--- a/erpnext/e_commerce/product_search.js
+++ b/erpnext/e_commerce/product_ui/search.js
@@ -49,7 +49,7 @@
 
 			// Fetch and populate product results
 			frappe.call({
-				method: "erpnext.templates.pages.product_search.search",
+				method: "erpnext.templates.pages.e_commerce.product_search.search",
 				args: {
 					query: query
 				},
@@ -61,7 +61,7 @@
 			// Populate categories
 			if (me.category_container) {
 				frappe.call({
-					method: "erpnext.templates.pages.product_search.get_category_suggestions",
+					method: "erpnext.templates.pages.e_commerce.product_search.get_category_suggestions",
 					args: {
 						query: query
 					},
diff --git a/erpnext/e_commerce/product_view.js b/erpnext/e_commerce/product_ui/views.js
similarity index 100%
rename from erpnext/e_commerce/product_view.js
rename to erpnext/e_commerce/product_ui/views.js
diff --git a/erpnext/e_commerce/website_item_indexing.py b/erpnext/e_commerce/redisearch.py
similarity index 100%
rename from erpnext/e_commerce/website_item_indexing.py
rename to erpnext/e_commerce/redisearch.py
diff --git a/erpnext/public/build.json b/erpnext/public/build.json
index 553082f..569910d 100644
--- a/erpnext/public/build.json
+++ b/erpnext/public/build.json
@@ -68,9 +68,9 @@
 		"public/js/hierarchy_chart/hierarchy_chart_mobile.js"
 	],
 	"js/e-commerce.min.js": [
-		"e_commerce/product_view.js",
-		"e_commerce/product_grid.js",
-		"e_commerce/product_list.js",
-		"e_commerce/product_search.js"
+		"e_commerce/product_ui/views.js",
+		"e_commerce/product_ui/grid.js",
+		"e_commerce/product_ui/list.js",
+		"e_commerce/product_ui/search.js"
 	]
 }
diff --git a/erpnext/public/scss/shopping_cart.scss b/erpnext/public/scss/shopping_cart.scss
index 57ee7ca..4de16ca 100644
--- a/erpnext/public/scss/shopping_cart.scss
+++ b/erpnext/public/scss/shopping_cart.scss
@@ -844,6 +844,14 @@
 			}
 		}
 	}
+
+	.t-and-c-container {
+		padding: 1.5rem;
+	}
+
+	.t-and-c-terms {
+		font-size: 14px;
+	}
 }
 
 .cart-empty.frappe-card {
diff --git a/erpnext/setup/doctype/item_group/item_group.py b/erpnext/setup/doctype/item_group/item_group.py
index a362c6e..f4b667e 100644
--- a/erpnext/setup/doctype/item_group/item_group.py
+++ b/erpnext/setup/doctype/item_group/item_group.py
@@ -10,11 +10,7 @@
 from frappe.website.utils import clear_cache
 from frappe.website.website_generator import WebsiteGenerator
 from six.moves.urllib.parse import quote
-
-from erpnext.e_commerce.filters import ProductFiltersBuilder
-from erpnext.e_commerce.product_query import ProductQuery
-from erpnext.utilities.product import get_qty_in_stock
-
+from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
 
 class ItemGroup(NestedSet, WebsiteGenerator):
 	nsm_parent_field = 'parent_item_group'
diff --git a/erpnext/templates/pages/cart.html b/erpnext/templates/pages/cart.html
index 05db77a..bb8ba3b 100644
--- a/erpnext/templates/pages/cart.html
+++ b/erpnext/templates/pages/cart.html
@@ -21,8 +21,9 @@
 {% if doc.items %}
 <div class="cart-container">
 	<div class="row m-0">
-		<div class="col-md-8 frappe-card p-5 mb-4">
-			<div>
+		<!-- Left section -->
+		<div class="col-md-8">
+			<div class="frappe-card p-5 mb-4">
 				<div id="cart-error" class="alert alert-danger" style="display: none;"></div>
 				<div class="cart-items-header">
 					{{ _('Items') }}
@@ -56,61 +57,44 @@
 						</tfoot>
 					{% endif %}
 				</table>
-			</div>
 
-			<div class="row mt-2">
-				<div class="col-3">
-					{% if cart_settings.enable_checkout %}
-						<a class="btn btn-primary-light font-md" href="/orders">
-							{{ _('Past Orders') }}
-						</a>
-					{% else %}
-						<a class="btn btn-primary-light font-md" href="/quotations">
-							{{ _('Past Quotes') }}
-						</a>
-					{% endif %}
-				</div>
-				<div class="col-9">
-					{% if doc.items %}
-					<div class="place-order-container">
-						<a class="btn btn-primary-light mr-2 font-md" href="/all-products">
-							{{ _('Continue Shopping') }}
-						</a>
+				<div class="row mt-2">
+					<div class="col-3">
+						{% if cart_settings.enable_checkout %}
+							<a class="btn btn-primary-light font-md" href="/orders">
+								{{ _('Past Orders') }}
+							</a>
+						{% else %}
+							<a class="btn btn-primary-light font-md" href="/quotations">
+								{{ _('Past Quotes') }}
+							</a>
+						{% endif %}
 					</div>
-					{% endif %}
+					<div class="col-9">
+						{% if doc.items %}
+						<div class="place-order-container">
+							<a class="btn btn-primary-light mr-2 font-md" href="/all-products">
+								{{ _('Continue Shopping') }}
+							</a>
+						</div>
+						{% endif %}
+					</div>
 				</div>
 			</div>
 
-
+			<!-- Terms and Conditions -->
 			{% if doc.items %}
-			{% if doc.tc_name %}
-				<div class="terms-and-conditions-link">
-					<a href class="link-terms-and-conditions" data-terms-name="{{ doc.tc_name }}">
-						{{ _("Terms and Conditions") }}
-					</a>
-					<script>
-						frappe.ready(() => {
-							$('.link-terms-and-conditions').click((e) => {
-								e.preventDefault();
-								const $link = $(e.target);
-								const terms_name = $link.attr('data-terms-name');
-								show_terms_and_conditions(terms_name);
-							})
-						});
-						function show_terms_and_conditions(terms_name) {
-							frappe.call('erpnext.e_commerce.shopping_cart.cart.get_terms_and_conditions', { terms_name })
-							.then(r => {
-								frappe.msgprint({
-									title: terms_name,
-									message: r.message
-								});
-							});
-						}
-					</script>
-				</div>
-			{% endif %}
+				{% if doc.terms %}
+					<div class="t-and-c-container mt-4 frappe-card">
+						<h5>{{ _("Terms and Conditions") }}</h5>
+						<div class="t-and-c-terms mt-2">
+							{{ doc.terms }}
+						</div>
+					</div>
+				{% endif %}
 		</div>
 
+		<!-- Right section -->
 		<div class="col-md-4">
 			<div class="cart-payment-addresses">
 				<!-- Apply Coupon Code  -->
diff --git a/erpnext/templates/pages/cart_terms.html b/erpnext/templates/pages/cart_terms.html
deleted file mode 100644
index 6d84fb8..0000000
--- a/erpnext/templates/pages/cart_terms.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-<div>{{doc.terms}}</div>
diff --git a/erpnext/templates/pages/product_search.py b/erpnext/templates/pages/product_search.py
index b6601a8..00aace4 100644
--- a/erpnext/templates/pages/product_search.py
+++ b/erpnext/templates/pages/product_search.py
@@ -8,7 +8,7 @@
 from erpnext.e_commerce.shopping_cart.product_info import set_product_info_for_website
 
 from redisearch import AutoCompleter, Client, Query
-from erpnext.e_commerce.website_item_indexing import (
+from erpnext.e_commerce.redisearch import (
 	is_search_module_loaded,
 	WEBSITE_ITEM_INDEX,
 	WEBSITE_ITEM_NAME_AUTOCOMPLETE,
@@ -18,7 +18,6 @@
 
 no_cache = 1
 
-
 def get_context(context):
 	context.show_search = True
 
@@ -35,13 +34,13 @@
 	# limit = 12 because we show 12 items in the grid view
 	# base query
 	query = """
-		Select
+		SELECT
 			web_item_name, item_name, item_code, brand, route,
 			website_image, thumbnail, item_group,
 			description, web_long_description as website_description,
 			website_warehouse, ranking
-		from `tabWebsite Item`
-		where published = 1
+		FROM `tabWebsite Item`
+		WHERE published = 1
 		"""
 
 	# search term condition
@@ -53,7 +52,7 @@
 		search = "%" + cstr(search) + "%"
 
 	# order by
-	query += """ order by ranking asc, modified desc limit %s, %s""" % (cint(start), cint(limit))
+	query += """ ORDER BY ranking asc, modified desc limit %s, %s""" % (cint(start), cint(limit))
 
 	return frappe.db.sql(query, {
 		"search": search
@@ -91,14 +90,9 @@
 
 	q = Query(query_string)
 
-	print(f"Executing query: {q.query_string()}")
-
 	results = client.search(q)
 	search_results['results'] = list(map(convert_to_dict, results.docs))
 
-	# FOR DEBUGGING
-	print("SEARCH RESULTS ------------------\n ", search_results)
-
 	return search_results
 
 def clean_up_query(query):
diff --git a/erpnext/www/all-products/index.py b/erpnext/www/all-products/index.py
index a5476e4..c66924e 100644
--- a/erpnext/www/all-products/index.py
+++ b/erpnext/www/all-products/index.py
@@ -1,6 +1,6 @@
 import frappe
 from frappe.utils import cint
-from erpnext.e_commerce.filters import ProductFiltersBuilder
+from erpnext.e_commerce.product_data_engine.filters import ProductFiltersBuilder
 
 sitemap = 1
 
