diff --git a/server/src/authLogin.ts b/server/src/authLogin.ts
index 20e43c43c443c5452d96572b5f7ee9b65d093e2b..83f44e305ca4ceb08b721ab818d005888e497d1e 100644
--- a/server/src/authLogin.ts
+++ b/server/src/authLogin.ts
@@ -2,9 +2,9 @@ import bcryptServices from "./db/bcryptFunctions";
 import getTokenPayload from "./db/jwtTokenPayload";
 import jwt from "jsonwebtoken";
 import Worker from "./db/models/Worker";
-import {Request,Response} from "express"
+import { Request, Response } from "express";
 
-const authLoginController = async (req:Request, res:Response) => {
+const authLoginController = async (req: Request, res: Response) => {
   try {
     //destructure req.body: -------------------------------
     const loginData = {
@@ -12,43 +12,45 @@ const authLoginController = async (req:Request, res:Response) => {
       password: req.body.password,
     };
 
-    //check email: -------------------------------
-    const workerExists = await Worker.findByPk(loginData.email); //get worker according to PrimaryKey Email from DB
-    if (!workerExists) {
-      // if worker does not exist
+    //get password of worker (if found, using given email)
+    const getPasswordIfWorkerExists = await Worker.findAll({
+      attributes: ["password"],
+      where: {
+        email: loginData.email,
+      },
+    });
+
+    //if not found -> email incorrect or worker not found
+    if (getPasswordIfWorkerExists.length === 0) {
       return res.status(401).send("wrong email or email not found!");
     }
-    //check password: -------------------------------
 
-    await Worker.findOne({
-      where: {
-        email: loginData.email, 
-      },
-      attributes: ["password"],
-    }).then((result) => {
-      const hashedPasswordInDB = result.password; //password in DB 
-      bcryptServices
-        .comparePassword(loginData.password, hashedPasswordInDB)
-        .then((result) => {
-          if (result) {
-            //if password is right -> create jwt-token
-            getTokenPayload(loginData.email).then((result) => {
-              const tokenPayload = {
-                email: result[0].email,
-                password: result[0].password,
-                role: result[0].role,
-              };
-              
-              //give token: -------------------------------
-              const token = jwt.sign(tokenPayload, process.env.JWT_SECRET);
-              // console.log("token:", token);
-              return res.status(200).send(`logged in successfully!\nToken: ${token}`);
-            })
-          } else return res.status(401).send("invalid password!");
+    //otherwise: if worker found
+    //check given password: -------------------------------
+    const hashedPasswordInDB = getPasswordIfWorkerExists[0].password; //password in DB
+    const compareResult = await bcryptServices.comparePassword(
+      loginData.password,
+      hashedPasswordInDB
+    );
 
-        });
-    });
+    //if password is right -> create jwt-token
+    if (compareResult) {
+      const tokenPayload = await getTokenPayload(loginData.email);
+      const payload = {
+        email: tokenPayload[0].email,
+        password: tokenPayload[0].password,
+        role: tokenPayload[0].role,
+      };
+
+      //create and send token: -------------------------------
+      const secret = process.env.JWT_SECRET;
+      const token = jwt.sign(payload, secret);
+      return res.status(200).send({ token });
+    } else {
+      return res.status(401).send("invalid password!");
+    }
   } catch (error) {
+    console.error("server error: ", error.message);
     return res.status(500).send("server error!");
   }
 };