diff --git a/client/js/catalog.js b/client/js/catalog.js
index 97cfb10cb2100acad49b4ba9f53517d9f2d72876..0d1b0c807563709a9280ae0e8e81d0d9cc1579bf 100644
--- a/client/js/catalog.js
+++ b/client/js/catalog.js
@@ -1,22 +1,9 @@
 var activePage;
 
-
-
-function debounce(func, delay=1000){
-    let timer = null;
-    return (...args) => {
-        clearTimeout(timer);
-        timer = setTimeout(() => func.apply(this, args), delay);
-    };
-}
-
-
-
 //Promise is to syncronize asyncronous process
 const input = document.getElementById("Searchinput");
 var myPromises = new Promise(function(resolve, reject){
     const formdata = new FormData();
-    formdata.append("signal", "getTotalRows");
     formdata.append('search', document.getElementById("Searchinput").value);
     console.log(input.value);
     
@@ -28,7 +15,7 @@ var myPromises = new Promise(function(resolve, reject){
             var responseData = JSON.parse(xhr.responseText);
             if (responseData.success){
                 //if expected process occur during promise get the expected value
-                resolve(Math.ceil(responseData.total[0]/10)-1);
+                resolve(Math.ceil(responseData.total[0]/10));
             } else {
                 alert("error: " + responseData.message);
                 //unexpected process occur during promise
@@ -113,7 +100,7 @@ function changePage(page){
                         </button>`
                     }
                 
-                    var endpage = numPages-4;
+                    var endpage = numPages-5;
                     
                     for (var i = 0; i < pages.length; i++){
                         
diff --git a/client/js/util.js b/client/js/util.js
new file mode 100644
index 0000000000000000000000000000000000000000..1baa13f1f65e802a3b787279d6499ff795608627
--- /dev/null
+++ b/client/js/util.js
@@ -0,0 +1,8 @@
+//debounce function utility
+function debounce(func, delay=1000){
+    let timer = null;
+    return (...args) => {
+        clearTimeout(timer);
+        timer = setTimeout(() => func.apply(this, args), delay);
+    };
+}
diff --git a/client/pages/catalog.php b/client/pages/catalog.php
index e78cbc00a299384c6b0903047462077df4563c3c..83de04c16266e8998333f477c2e3dec506811b80 100644
--- a/client/pages/catalog.php
+++ b/client/pages/catalog.php
@@ -8,8 +8,9 @@
     <link rel="stylesheet" href="../css/sidebar.css">
     <script src="../js/navbar.js"></script>
     <script src="../js/sidebar.js"></script>
-    <script src="https://kit.fontawesome.com/8505941c5b.js" crossorigin="anonymous"></script>
     <script src="../js/catalog.js"></script>
+    <script src="../js/util.js"></script>
+    <script src="https://kit.fontawesome.com/8505941c5b.js" crossorigin="anonymous"></script>
 </head>
 <body>
     <div class="container">