diff --git a/client/app/browse.php b/client/app/browse.php
deleted file mode 100644
index 458b1a63ebbca1925e2a10f87d83e6f92e96b87a..0000000000000000000000000000000000000000
--- a/client/app/browse.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-    
-    $browsePage = function(){
-        echo "Implement plz";
-        require_once __ROOT__.'/static/html/index.html';
-    }
-
-?>
\ No newline at end of file
diff --git a/client/app/homepage.php b/client/app/homepage.php
new file mode 100644
index 0000000000000000000000000000000000000000..5fac71f8e8c4ac6df167826c91b339547cdd70dc
--- /dev/null
+++ b/client/app/homepage.php
@@ -0,0 +1,7 @@
+<?php
+    
+    $homepage = function() {
+        include __ROOT__.'/static/html/index.html';
+    }
+
+?>
\ No newline at end of file
diff --git a/client/public/.htaccess b/client/public/.htaccess
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/client/public/index.php b/client/public/index.php
index 0b4bd9c138f4185813f5d5825980704ae63f0a9b..9f528009f42bee2872715b3c9e6745b1611d28d1 100644
--- a/client/public/index.php
+++ b/client/public/index.php
@@ -3,18 +3,18 @@
 
     
     require_once __ROOT__.'/util/Routing/Router.php';
-    require_once __ROOT__.'/app/browse.php';
+    require_once __ROOT__.'/app/homepage.php';
     require_once __ROOT__.'/app/history.php';
     require_once __ROOT__.'/app/profile.php';
     
 
     $router = new Router();
 
-    $router->add("/", "GET", $browsePage);
+    $router->add("/", "GET", $homepage);
     $router->add("/profile/", "GET", $historyPage);
     $router->add("/history/", "GET", $profilePage);
 
-    $uri = $_SERVER["REQUEST_URI"];
+    $uri = $_SERVER["PATH_INFO"];
     $method = $_SERVER["REQUEST_METHOD"];
 
     $router->route($uri, $method);
diff --git a/server/app/user/UserUsecase.php b/server/app/user/UserUsecase.php
index b74d3c0d1fb16b9ebe9cc900257556babdbca965..a8952ecff7f78ef2fa673cea3db4b422139f455f 100644
--- a/server/app/user/UserUsecase.php
+++ b/server/app/user/UserUsecase.php
@@ -1,5 +1,6 @@
 <?php
     require_once __ROOT__.'/app/user/UserDb.php';
+    require_once __ROOT__.'/app/user/User.php';
     require_once __ROOT__.'/util/Routing/Response.php';
 
     class UserUsecase {
@@ -39,19 +40,24 @@
         function editProfile(Request $request){
             $user_id = (int)$request->params["user_id"];
             $user = $this->userDb->getUserById($user_id)[0];
-            $user->username = array_key_exists("username",$request->payload) ? $request->payload["username"] : $user->username;
-            $user->fullname = array_key_exists("fullname",$request->payload) ? $request->payload["fullname"]: $user->fullname;
-            $user->email = array_key_exists("email",$request->payload) ? $request->payload["email"] : $user->email;
-            $user->address = array_key_exists("address",$request->payload) ? $request->payload["address"] : $user->address;
 
-            $newPass = array_key_exists("password",$request->payload) ? hash('sha256', $request->payload["username"]) : $user->getPassword();
-            $user->setPassword($newPass);
-            
-            $user = $this->userDb->updateUser($user);
             if ($user){
-                writeResponse(200, "Success edit user profile", $user);
+                $user->username = array_key_exists("username",$request->payload) ? $request->payload["username"] : $user->username;
+                $user->fullname = array_key_exists("fullname",$request->payload) ? $request->payload["fullname"]: $user->fullname;
+                $user->email = array_key_exists("email",$request->payload) ? $request->payload["email"] : $user->email;
+                $user->address = array_key_exists("address",$request->payload) ? $request->payload["address"] : $user->address;
+    
+                $newPass = array_key_exists("password",$request->payload) ? hash('sha256', $request->payload["username"]) : $user->getPassword();
+                $user->setPassword($newPass);
+                
+                $user = $this->userDb->updateUser($user);
+                if ($user){
+                    writeResponse(200, "Success edit user profile", $user);
+                } else {
+                    writeResponse(500, "Failed edit user profile");
+                }
             } else {
-                writeResponse(500, "Failed edit user profile");
+                writeResponse(400, "User not exist");
             }
         }
 
diff --git a/server/app/user/routes.php b/server/app/user/routes.php
index 012884edbdc3a34505f2606cd22d0a8e2d0ec1cd..b2a81b10a659589e747465bf0a3c44dd6a7c9557 100644
--- a/server/app/user/routes.php
+++ b/server/app/user/routes.php
@@ -1,15 +1,14 @@
 <?php
 
     function addUserRoutes($router, $userUsecase){
-        // User Routes
         $router->add("/user/", "POST", array($userUsecase,'registerUser'));
+        $router->add("/user/search/", "GET", function($request){
+            $queries = $request->queries;
+            var_dump($queries);
+        });
         $router->add("/user/:user_id/", "DELETE", array($userUsecase,'removeUser'));
         $router->add("/user/:user_id/", "GET", array($userUsecase,'getProfile'));
         $router->add("/user/:user_id/", "PUT", array($userUsecase,'editProfile'));
-        // $router->add("/book/:book_id/", "POST", $postCallbackExample);
-        // $router->add("/book/:book_id/user/:user_id/", "POST", $postCallbackExample);
-        // $router->add("/book/:book_id/", "POST", $postCallbackExample);
-
         return $router;
     }
 
diff --git a/server/public/index.php b/server/public/index.php
index 0642b50bb11471733f622b16f62f0c3560cf92c8..73d339bee73230e7d9a9608c5f81e5e26d02bc93 100644
--- a/server/public/index.php
+++ b/server/public/index.php
@@ -32,7 +32,7 @@
     // TODO: Add Order Routes
     
     $errorCallback = function(){
-        echo "500";
+        writeResponse(404, "Page not found.");
     };
     
     $uri = $_SERVER['PATH_INFO'];
diff --git a/server/util/Routing/Request.php b/server/util/Routing/Request.php
index ba6d58f791416275125d7b56a021e3ef916dcfaf..2cdd4fc6f634421f81f10127884ec6c9556a11a3 100644
--- a/server/util/Routing/Request.php
+++ b/server/util/Routing/Request.php
@@ -3,11 +3,13 @@
         public $params = array();
         public $payload = array();
         public $header = array();
+        public $queries = array();
 
-        function __construct(array $params, array $payload, $header){
+        function __construct(array $params, array $payload, $header, $queries = null){
             $this->params = $params;
             $this->payload = $payload;
             $this->header = $header;
+            $this->queries = $queries;
         }
     }
 
diff --git a/server/util/Routing/Router.php b/server/util/Routing/Router.php
index b92e8fb0331a7950012d085c7029065f5ff332a2..09e5f8e8ac9b3515119baf7c96eb6b397b919b35 100644
--- a/server/util/Routing/Router.php
+++ b/server/util/Routing/Router.php
@@ -12,22 +12,21 @@
 
         private function __makeParamPattern($url){
             $url_components = explode("/", $url);
-            $paramPattern = "^\/";
+            $paramPattern = "^";
             foreach($url_components as $url_component){
                 if ($url_component != ""){
                     if (preg_match('(:.*)',$url_component)){
                         preg_match('(:.*)',$url_component, $paramName);
                         $param = substr($paramName[0],1);
                         array_push($this->paramKeys, $param);
-                        $paramPattern .= "(?P"."<$param>"."\d+)\/";
+                        $paramPattern .= "\/(?P"."<$param>"."\d+)";
                     }
                     else {
-                        $paramPattern .= "(".$url_component.")\/"; 
+                        $paramPattern .= "\/(".$url_component.")"; 
                     }
                 }
             }
-            $paramPattern.= "$";
-
+            $paramPattern.= "\/$";
             return $paramPattern;
         }
 
@@ -49,7 +48,6 @@
 
             return $request_params;
         }
-
         private function __getRouteFromPattern($url, $method){
             foreach ($this->routes as $key=>$value){
                 if (preg_match("($key)", $url) && array_key_exists($method, $value)){
@@ -76,8 +74,9 @@
                 parse_str(file_get_contents("php://input"), $payload);                
                 // get header
                 $headers = getallheaders();
-
-                $request = new Request($params, $payload, $headers);
+                $queries = $_GET;
+                
+                $request = new Request($params, $payload, $headers, $queries);
 
                 if ($route["middleware"]){
                     $route["middleware"]->run($route["callback"], $request);