diff --git a/functions/methods.ts b/functions/methods.ts
index cebfcb2179d5dcd9dc70e591708c6bd69300523c..f6a4eb5972d88f3102a138a05660dc477e6cd473 100644
--- a/functions/methods.ts
+++ b/functions/methods.ts
@@ -3,62 +3,64 @@ import dbconn = require('../config/dbconn')
 var methods = {
     // ===================== user db =====================
     registerNewUser: function(data:any, callback:any) {
-        dbconn.user.beginTransaction(function(err:any) { // START TRANSACTION
-            if (err) { throw err }
-            // insert profile
-            dbconn.user.query('INSERT INTO user SET ?', data.profile, function (err:any, results:any, fields:any) {
-                if (err) {
-                  return dbconn.user.rollback(function() {
-                    throw err
-                  });
-                }
-                let newUserId:number = results.insertId
-                // set password
-                var credentialData:any = {
-                    user_id: newUserId,
-                    password: data.password
-                }
-                dbconn.user.query('INSERT INTO credential SET ?', credentialData, function (err:any, results:any, fields:any) {
+	dbconn.user.getConnection(function(err:any, thisconn){
+            thisconn.beginTransaction(function(err:any) { // START TRANSACTION
+                if (err) { throw err }
+                 // insert profile
+                thisconn.query('INSERT INTO user SET ?', data.profile, function (err:any, results:any, fields:any) {
                     if (err) {
-                        return dbconn.user.rollback(function() {
-                            throw err
-                        });
+                      return thisconn.rollback(function() {
+                        throw err
+                      });
                     }
-                    // set default user-project-role
-                    var projectRoleData:any = {
-                        project_id: 1,  //M4_LAB
-                        role_id: 2,     // USER
-                        user_id: newUserId
+                    let newUserId:number = results.insertId
+                    // set password
+                    var credentialData:any = {
+                        user_id: newUserId,
+                        password: data.password
                     }
-                    dbconn.user.query('INSERT INTO user_project_role SET ?', projectRoleData, function (err:any, results:any, fields:any) {
+                    thisconn.query('INSERT INTO credential SET ?', credentialData, function (err:any, results:any, fields:any) {
                         if (err) {
-                            return dbconn.user.rollback(function() {
+                            return thisconn.rollback(function() {
                                 throw err
                             });
                         }
-                        // MLAB-129: INSERT verification token
-                        let verificationData:any = {
-                            user_id: newUserId,
-                            token: data.verificationToken
+                        // set default user-project-role
+                        var projectRoleData:any = {
+                            project_id: 1,  //M4_LAB
+                            role_id: 2,     // USER
+                            user_id: newUserId
                         }
-                        dbconn.user.query('INSERT INTO verification SET ?', verificationData, function (err:any, results:any, fields:any) {
+                        thisconn.query('INSERT INTO user_project_role SET ?', projectRoleData, function (err:any, results:any, fields:any) {
                             if (err) {
-                                return dbconn.user.rollback(function() {
+                                return thisconn.rollback(function() {
                                     throw err
                                 });
                             }
-                            // COMMIT
-                            dbconn.user.commit(function(err:any) {
+                            // MLAB-129: INSERT verification token
+                            let verificationData:any = {
+                                user_id: newUserId,
+                                token: data.verificationToken
+                            }
+                            thisconn.query('INSERT INTO verification SET ?', verificationData, function (err:any, results:any, fields:any) {
                                 if (err) {
-                                    return dbconn.user.rollback(function() {
+                                    return thisconn.rollback(function() {
                                         throw err
-                                    })
+                                    });
                                 }
+                                // COMMIT
+                                thisconn.commit(function(err:any) {
+                                    if (err) {
+                                        return thisconn.rollback(function() {
+                                            throw err
+                                        })
+                                    }
+                                })
                             })
                         })
-                    })
+                    });
                 });
-            });
+	    });
             callback(err)
         })
     },
@@ -162,27 +164,29 @@ var methods = {
         return null
     },
     verifyUserAccount: function(userData:any, callback:any) {
-        dbconn.user.beginTransaction(function(err:any) { // START TRANSACTION
-            if (err) { throw err }
-            // update user status
-            dbconn.user.query('UPDATE user SET ? WHERE id =' +userData.id, userData, function (err:any, rows:any, fields:any) {
-                if (err) {
-                    return dbconn.user.rollback(function() { throw err })
-                }
-                // delete verification token
-                dbconn.user.query('DELETE FROM verification WHERE user_id = '+userData.id, function (err:any, rows:any, fields:any) {
+	dbconn.user.getConnection(function(err:any, thisconn){
+            thisconn.beginTransaction(function(err:any) { // START TRANSACTION
+                if (err) { throw err }
+                // update user status
+                thisconn.query('UPDATE user SET ? WHERE id =' +userData.id, userData, function (err:any, rows:any, fields:any) {
                     if (err) {
-                        return dbconn.user.rollback(function() { throw err })
+                        return thisconn.rollback(function() { throw err })
                     }
-                    // COMMIT
-                    dbconn.user.commit(function(err:any) {
+                    // delete verification token
+                    thisconn.query('DELETE FROM verification WHERE user_id = '+userData.id, function (err:any, rows:any, fields:any) {
                         if (err) {
-                            return dbconn.user.rollback(function() { throw err })
+                            return thisconn.rollback(function() { throw err })
                         }
+                        // COMMIT
+                        thisconn.commit(function(err:any) {
+                            if (err) {
+                                return thisconn.rollback(function() { throw err })
+                            }
+                        })
                     })
                 })
             })
-            callback(err)
+        callback(err)
         })
     },
     /* ===== GitLab ===== */
@@ -208,4 +212,4 @@ var methods = {
     }
 };
 
-export = methods
\ No newline at end of file
+export = methods
diff --git a/routes/account.ts b/routes/account.ts
index 68c3ca613a942c9b1d8f75e072b07d0f4377d7c8..ce921c566f399a42066788af923c28e8b935c798 100644
--- a/routes/account.ts
+++ b/routes/account.ts
@@ -106,10 +106,14 @@ export = function (app:any, config:any, passport:any, lang:string) {
       res.redirect('/login')
     } else {
       let loggedInUser = await getLoggedInUserData(req.user.email)
-      
-      res.render(lang+'/account/home', {
-        user: loggedInUser
-      });
+      if (!loggedInUser) {
+        console.error("user data is not found")
+        res.status(500).render(lang+'/500', { error: "Your data is not found. Please try again." })
+      } else {
+        res.render(lang+'/account/home', {
+          user: loggedInUser
+        });
+      }
     }
   });