diff --git a/src/controller/Controller.php b/src/controller/Controller.php
index 205cb798fae9a4baee0cab36c533f8cf315b13c6..af435081af6cc0c6032f527ec6dbbf8f6d7e1823 100644
--- a/src/controller/Controller.php
+++ b/src/controller/Controller.php
@@ -56,4 +56,4 @@ function simpleCrypt( $string, $action = 'e' ) {
     }
  
     return $output;
-}
\ No newline at end of file
+}
diff --git a/src/controller/EmailValidationController.php b/src/controller/EmailValidationController.php
index 456f93af7bc75e8e33ce4e8de4139d7644303dbb..0c6bb93a413477ce4dc2e415b7062a952bbcca53 100644
--- a/src/controller/EmailValidationController.php
+++ b/src/controller/EmailValidationController.php
@@ -6,20 +6,23 @@
  * Time: 23:14
  */
 
-    include_once "Controller.php";
-    include_once "../model/User.php";
+    include_once __DIR__."/../model/User.php";
 
-    $emailInput = $_REQUEST['q'];
+class EmailValidationController {
+    public static function EmailValidationHandler() {
+        $emailInput = $_REQUEST['q'];
 
-    $pdo = DB::getInstance();
-    if ($emailInput !== "") {
-        if (filter_var($emailInput, FILTER_VALIDATE_EMAIL)) {
-            if (User::GetUserBy("email", $emailInput, $pdo)) {
-                echo "unavailable";
+        $pdo = DB::getInstance();
+        if ($emailInput !== "") {
+            if (filter_var($emailInput, FILTER_VALIDATE_EMAIL)) {
+                if (User::GetUserBy("email", $emailInput, $pdo)) {
+                    echo "unavailable";
+                } else {
+                    echo "available";
+                }
             } else {
-                echo "available";
+                echo "unavailable";
             }
-        } else {
-            echo "unavailable";
         }
-    }
\ No newline at end of file
+    }
+}
\ No newline at end of file
diff --git a/src/controller/LoginController.php b/src/controller/LoginController.php
index e4fca67ebe8cf010d70a61c4075ae30d2e5714b0..0aba288cf30c561352b1992c24bb4e7c47d97c7a 100644
--- a/src/controller/LoginController.php
+++ b/src/controller/LoginController.php
@@ -1,31 +1,29 @@
 <?php
-/**
- * Created by PhpStorm.
- * User: iqbal
- * Date: 04/10/17
- * Time: 16:29
- */
 
-    session_start();
+require_once __DIR__.'/../model/User.php';
 
-    include_once "Controller.php";
-    include_once "../model/User.php";
+class LoginController {
+    public static function LoginHandler() {
+        session_start();
 
-    $pdo = DB::getInstance();
-    $userData = User::GetAllUsernameAndPassword($pdo);
+        $pdo = DB::getInstance();
+        $userData = User::GetAllUsernameAndPassword($pdo);
 
-    if (isset($_GET['logout'])) {
-        $_SESSION['username'] = "";
-        header("Location: ../view/login.html");
-        exit;
-    }
+        if (isset($_GET['logout'])) {
+            $_SESSION['username'] = "";
+            header("Location: /");
+            exit;
+        }
 
-    if (isset($_POST['username'])) {
-        if ($userData[$_POST['username']] === md5($_POST['password'])) {
-            $_SESSION['username'] = $_POST['username'];
-            //header untuk redirect
-            echo "<script type='application/javascript'> alert('Login berhasil'); </script>";
-        } else {
-            echo "<script type='application/javascript'> alert('Username atau password salah'); </script>";
+        if (isset($_POST['username'])) {
+            if ($userData[$_POST['username']] === md5($_POST['password'])) {
+                $_SESSION['username'] = $_POST['username'];
+                //header untuk redirect
+                echo "<script type='application/javascript'> alert('Login berhasil'); </script>";
+                header("Location: /main/profil");
+            } else {
+                echo "<script type='application/javascript'> alert('Username atau password salah'); </script>";
+            }
         }
-    }
\ No newline at end of file
+    }
+}
\ No newline at end of file
diff --git a/src/controller/MainController.php b/src/controller/MainController.php
index 52c83e7c90cc8ac8fa8c129308584b4a3c1d9f49..d60a327df177f1b4246c01fe60869805c02c0a82 100644
--- a/src/controller/MainController.php
+++ b/src/controller/MainController.php
@@ -3,12 +3,12 @@
 class MainController {
 
     public static function LoginHandler() {
-        header("Location: http://dagojek.com/src/view/login.html");
+        header("Location: http://dagojek.dev/src/view/login.html");
         die();
     }
 
     public static function DefaultHandler() {
-        echo "This is default handler";
+        require __DIR__.'/../view/login.html';
     }
 
 }
\ No newline at end of file
diff --git a/src/controller/RegisterController.php b/src/controller/RegisterController.php
index ad3f27b9eaf5dd17a48c04db23df7e878a41f9d2..5e6d1794ca226a6e6884916ed6e84a1aa5197b91 100644
--- a/src/controller/RegisterController.php
+++ b/src/controller/RegisterController.php
@@ -1,32 +1,30 @@
 <?php
-/**
- * Created by PhpStorm.
- * User: iqbal
- * Date: 05/10/17
- * Time: 16:43
- */
 
-    include_once "Controller.php";
-    include_once "../model/User.php";
+require_once __DIR__.'/../model/User.php';
 
-    $hashedPassword = md5($_POST['password']);
+class RegisterController {
+    public static function RegisterHandler() {
 
-    $newUser = array(
-        "id" => 0,
-        "name" => $_POST['name'],
-        "username" => $_POST['username'],
-        "email" => $_POST['email'],
-        "password" => $hashedPassword,
-        "phone" => $_POST['phone'],
-        "photo" => "http://www.simian-risk.com/wp-content/themes/custom/images/empty-profile.png",
-        "is_driver" => 0
-    );
+        $hashedPassword = md5($_POST['password']);
 
-    if (isset($_POST['is_driver'])) {
-        $newUser['is_driver'] = 1;
-    }
+        $newUser = array(
+            "id" => 0,
+            "name" => $_POST['name'],
+            "username" => $_POST['username'],
+            "email" => $_POST['email'],
+            "password" => $hashedPassword,
+            "phone" => $_POST['phone'],
+            "photo" => "http://www.simian-risk.com/wp-content/themes/custom/images/empty-profile.png",
+            "is_driver" => 0
+        );
+
+        if (isset($_POST['is_driver'])) {
+            $newUser['is_driver'] = 1;
+        }
 
-    $pdo = DB::getInstance();
-    User::InsertUser($newUser, $pdo);
-    //header untuk redirect
-    echo "<script> alert('Registrasi berhasil.');</script>";
\ No newline at end of file
+        $pdo = DB::getInstance();
+        User::InsertUser($newUser, $pdo);
+        //header untuk redirect
+        echo "<script> alert('Registrasi berhasil.');</script>";
+    }
+}
diff --git a/src/controller/UsernameValidationController.php b/src/controller/UsernameValidationController.php
index c0f29f4392cc22bbc93c5c6538ba016c06c2b250..0a561a7a05c75d3e6c436b71a27407fd2c333f78 100644
--- a/src/controller/UsernameValidationController.php
+++ b/src/controller/UsernameValidationController.php
@@ -6,16 +6,20 @@
  * Time: 23:12
  */
 
-    include_once "Controller.php";
-    include_once "../model/User.php";
+include_once __DIR__."/../model/User.php";
 
-    $usernameInput = $_REQUEST['q'];
+class UsernameValidationController {
+    public static function UsernameValidatiionHandler() {
 
-    $pdo = DB::getInstance();
-    if ($usernameInput !== "") {
-        if (User::GetUserBy("username", $usernameInput, $pdo)) {
-            echo "unavailable";
-        } else {
-            echo "available";
+        $usernameInput = $_REQUEST['q'];
+
+        $pdo = DB::getInstance();
+        if ($usernameInput !== "") {
+            if (User::GetUserBy("username", $usernameInput, $pdo)) {
+                echo "unavailable";
+            } else {
+                echo "available";
+            }
         }
-    }
\ No newline at end of file
+    }
+}
\ No newline at end of file
diff --git a/src/route.php b/src/route.php
index 07fb8323f363bacf36d2b02172879881a6e74639..74e56b75b9b9397448a5f9caee50d2fbab33d4a3 100644
--- a/src/route.php
+++ b/src/route.php
@@ -4,17 +4,17 @@
 
 $AppInstance = Dagojek::Instance();
 
-$AppInstance->addRoute("/",                     'MainController::LoginHandler');
-$AppInstance->addRoute("/login",                'MainController::LoginHandler');
+$AppInstance->addRoute("/",                     'MainController::DefaultHandler');
+$AppInstance->addRoute("/login",                'LoginController::LoginHandler');
 $AppInstance->addRoute("/register",             'MainController::DefaultHandler');
 
-$AppInstance->addRoute("/main/profil",          'ProfilController::ProfilHandler');
-$AppInstance->addRoute("/main/profil/edit",     'ProfilController::EditHandler');
-$AppInstance->addRoute("/main/profil/edit/save",     'ProfilController::SaveProfil');
-$AppInstance->addRoute("/main/profil/location/edit",     'ProfilController::EditLocationHandler');
-$AppInstance->addRoute("/main/profil/location/edit/save",     'ProfilController::SaveProfil');
-$AppInstance->addRoute("/main/profil/location/delete",     'ProfilController::DeleteLocationHandler');
-$AppInstance->addRoute("/main/profil/location/add",     'ProfilController::AddLocationHandler');
+$AppInstance->addRoute("/main/profil",                      'ProfilController::ProfilHandler');
+$AppInstance->addRoute("/main/profil/edit",                 'ProfilController::EditHandler');
+$AppInstance->addRoute("/main/profil/edit/save",            'ProfilController::SaveProfil');
+$AppInstance->addRoute("/main/profil/location/edit",        'ProfilController::EditLocationHandler');
+$AppInstance->addRoute("/main/profil/location/edit/save",   'ProfilController::SaveProfil');
+$AppInstance->addRoute("/main/profil/location/delete",      'ProfilController::DeleteLocationHandler');
+$AppInstance->addRoute("/main/profil/location/add",         'ProfilController::AddLocationHandler');
 
 $AppInstance->addRoute("/main/history",         'MainController::DefaultHandler');
 $AppInstance->addRoute("/main/order/",          'MainController::DefaultHandler');
diff --git a/src/view/login.html b/src/view/login.html
index 724d78de82b4a11ae24f7211edeab2fb44662ac2..4d891b012b1de337732d8e75b14f58ee9257fd4f 100644
--- a/src/view/login.html
+++ b/src/view/login.html
@@ -16,7 +16,7 @@
 
     <section id="login-main">
         <div id="login-panel">
-            <form name="loginForm" method="post" action="../controller/LoginController.php">
+            <form name="loginForm" method="post" action="/login">
                 <fieldset>
                     <legend>Login:</legend>
                     Username: <br>