diff --git a/erpnext/public/js/hub/components/DetailView.vue b/erpnext/public/js/hub/components/DetailView.vue
index 0e9e3f2..70ec94c 100644
--- a/erpnext/public/js/hub/components/DetailView.vue
+++ b/erpnext/public/js/hub/components/DetailView.vue
@@ -28,7 +28,7 @@
 			<div class="row margin-bottom">
 				<div class="col-md-3">
 					<div class="hub-item-image">
-						<img :src="image">
+						<img v-img-src="image">
 					</div>
 				</div>
 				<div class="col-md-8">
diff --git a/erpnext/public/js/hub/pages/Item.vue b/erpnext/public/js/hub/pages/Item.vue
index 74a4647..48fde20 100644
--- a/erpnext/public/js/hub/pages/Item.vue
+++ b/erpnext/public/js/hub/pages/Item.vue
@@ -55,6 +55,11 @@
 
 			menu_items: [
 				{
+					label: __('Save Item'),
+					condition: !this.is_own_item,
+					action: this.add_to_saved_items
+				},
+				{
 					label: __('Report this Product'),
 					condition: !this.is_own_item,
 					action: this.report_item
@@ -127,11 +132,29 @@
 		}
 	},
 	created() {
-		this.get_profile();
+		this.get_item_details();
+	},
+	mounted() {
+		// To record a single view per session, (later)
+		// erpnext.hub.item_view_cache = erpnext.hub.item_view_cache || [];
+		// if (erpnext.hub.item_view_cache.includes(this.hub_item_name)) {
+		// 	return;
+		// }
+
+		this.item_received.then(() => {
+			setTimeout(() => {
+				hub.call('add_item_view', {
+					hub_item_name: this.hub_item_name
+				})
+				// .then(() => {
+				// 	erpnext.hub.item_view_cache.push(this.hub_item_name);
+				// });
+			}, 5000);
+		});
 	},
 	methods: {
-		get_profile() {
-			hub.call('get_item_details', { hub_item_name: this.hub_item_name })
+		get_item_details() {
+			this.item_received = hub.call('get_item_details', { hub_item_name: this.hub_item_name })
 				.then(item => {
 				this.init = false;
 				this.item = item;
@@ -163,6 +186,21 @@
 			//
 		},
 
+		add_to_saved_items() {
+			hub.call('add_item_to_seller_saved_items', {
+				hub_item_name: this.hub_item_name,
+				hub_seller: hub.settings.company_email
+			})
+			.then(() => {
+				const saved_items_link = `<b><a href="#marketplace/saved-products">${__('Saved')}</a></b>`
+				frappe.show_alert(saved_items_link);
+				erpnext.hub.trigger('action:item_save');
+			})
+			.catch(e => {
+				console.error(e);
+			});
+		},
+
 		contact_seller() {
 			const d = new frappe.ui.Dialog({
 				title: __('Send a message'),
diff --git a/erpnext/public/js/hub/pages/SavedProducts.vue b/erpnext/public/js/hub/pages/SavedProducts.vue
index d55e9dc..ddcbcdc 100644
--- a/erpnext/public/js/hub/pages/SavedProducts.vue
+++ b/erpnext/public/js/hub/pages/SavedProducts.vue
@@ -38,11 +38,8 @@
 	methods: {
 		get_items() {
 			hub.call(
-				'get_favourite_items_of_seller',
-				{
-					hub_seller: hub.settings.company_email
-				},
-				'action:item_favourite'
+				'get_saved_items_of_seller', {},
+				'action:item_save'
 			)
 			.then((items) => {
 				this.items = items;
@@ -65,7 +62,9 @@
 				return false;
 			}
 
-			alert = frappe.show_alert(__(`<span>${hub_item_name} removed.
+			const item_name = this.items.filter(item => item.hub_item_name === hub_item_name);
+
+			alert = frappe.show_alert(__(`<span>${item_name} removed.
 				<a href="#" data-action="undo-remove"><b>Undo</b></a></span>`),
 				grace_period/1000,
 				{
@@ -83,8 +82,8 @@
 		},
 
 		remove_item_from_saved_products(hub_item_name) {
-			erpnext.hub.trigger('action:item_favourite');
-			hub.call('remove_item_from_seller_favourites', {
+			erpnext.hub.trigger('action:item_save');
+			hub.call('remove_item_from_seller_saved_items', {
 				hub_item_name,
 				hub_seller: hub.settings.company_email
 			})
diff --git a/erpnext/public/js/hub/pages/item.js b/erpnext/public/js/hub/pages/item.js
index c77f57b..cbbdfcf 100644
--- a/erpnext/public/js/hub/pages/item.js
+++ b/erpnext/public/js/hub/pages/item.js
@@ -78,7 +78,7 @@
 			.then(() => {
 				$(favourite_button).html('Saved');
 				frappe.show_alert(__('Saved to <b><a href="#marketplace/favourites">Favourites</a></b>'));
-				erpnext.hub.trigger('action:item_favourite');
+				erpnext.hub.trigger('action:item_save');
 			})
 			.catch(e => {
 				console.error(e);
