diff --git a/NodeApp/src/helpers/GlobalHelper.ts b/NodeApp/src/helpers/GlobalHelper.ts
index ca90dc7ab6c1b43672993cf8e73cbbd53e4b88f3..50192cb34aab75aacb9b4e7b3fdabf9a202a35b1 100644
--- a/NodeApp/src/helpers/GlobalHelper.ts
+++ b/NodeApp/src/helpers/GlobalHelper.ts
@@ -1,6 +1,5 @@
 import { Command, Option } from 'commander';
 import Config              from '../config/Config';
-import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
 import SessionManager      from '../managers/SessionManager';
 import GitlabManager       from '../managers/GitlabManager';
 
@@ -17,14 +16,13 @@ class GlobalHelper {
     }
 
 
-    private readonly refreshTokenFunction = async () => {
+    private readonly refreshGitlabTokenFunction = async () => {
         await SessionManager.refreshTokens();
 
         return SessionManager.gitlabCredentials.accessToken ?? '';
     };
 
-    readonly gitlabManager = new GitlabManager('', this.refreshTokenFunction.bind(this));
-    readonly sharedGitlabManager = new SharedGitlabManager('', this.refreshTokenFunction.bind(this));
+    readonly gitlabManager = new GitlabManager('', this.refreshGitlabTokenFunction.bind(this));
 }
 
 
diff --git a/NodeApp/src/managers/GitlabManager.ts b/NodeApp/src/managers/GitlabManager.ts
index 91763e0551cea7b2e27ee6af382d6465956c0f7c..fad38cc53a03179fdca2af5d87be448baccdef54 100644
--- a/NodeApp/src/managers/GitlabManager.ts
+++ b/NodeApp/src/managers/GitlabManager.ts
@@ -1,47 +1,15 @@
-import ora                                               from 'ora';
-import SharedConfig                                      from '../shared/config/SharedConfig';
-import fs                                                from 'fs-extra';
-import { spawn }                                         from 'child_process';
-import { Gitlab, NotificationSettingSchema, UserSchema } from '@gitbeaker/rest';
-import * as GitlabCore                                   from '@gitbeaker/core';
-import { GitbeakerRequestError }                         from '@gitbeaker/requester-utils';
-import { StatusCodes }                                   from 'http-status-codes';
-import GlobalHelper                                      from '../helpers/GlobalHelper';
+import ora                                       from 'ora';
+import fs                                        from 'fs-extra';
+import { spawn }                                 from 'child_process';
+import { NotificationSettingSchema, UserSchema } from '@gitbeaker/rest';
+import * as GitlabCore                           from '@gitbeaker/core';
+import SharedGitlabManager                       from '../shared/managers/SharedGitlabManager';
 
 
 type getGitlabUser = (param: number | string) => Promise<UserSchema | undefined>
 
 
-class GitlabManager {
-    private api!: GitlabCore.Gitlab<false>;
-    private readonly refreshTokenFunction?: () => Promise<string>;
-
-    setToken(token: string) {
-        this.api = new Gitlab(Object.assign({
-                                                host : SharedConfig.gitlab.URL,
-                                                token: token
-                                            }));
-    }
-
-    constructor(token: string, refreshTokenFunction?: () => Promise<string>) {
-        this.refreshTokenFunction = refreshTokenFunction;
-        this.setToken(token);
-    }
-
-    private async executeGitlabRequest<T>(request: () => Promise<T>, refreshTokenIfNeeded: boolean = true): Promise<T> {
-        try {
-            return await request();
-        } catch ( error ) {
-            if ( this.refreshTokenFunction && refreshTokenIfNeeded && error instanceof GitbeakerRequestError && error.cause?.response.status === StatusCodes.UNAUTHORIZED ) {
-                this.setToken(await this.refreshTokenFunction());
-
-                return this.executeGitlabRequest(request, false);
-            } else {
-                throw error;
-            }
-        }
-    }
-
+class GitlabManager extends SharedGitlabManager {
     public async testToken(verbose: boolean = true): Promise<[ boolean, boolean ]> {
         if ( verbose ) {
             ora('Checking Gitlab token: ').start().info();
@@ -152,11 +120,11 @@ class GitlabManager {
     }
 
     public async getUsersById(ids: Array<number>, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<UserSchema | undefined>> {
-        return this.getGitlabUsers(ids, GlobalHelper.sharedGitlabManager.getUserById.bind(GlobalHelper.sharedGitlabManager) as getGitlabUser, verbose, verboseIndent);
+        return this.getGitlabUsers(ids, this.getUserById.bind(this) as getGitlabUser, verbose, verboseIndent);
     }
 
     public async getUsersByUsername(usernames: Array<string>, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<UserSchema | undefined>> {
-        return this.getGitlabUsers(usernames, GlobalHelper.sharedGitlabManager.getUserByUsername.bind(GlobalHelper.sharedGitlabManager) as getGitlabUser, verbose, verboseIndent);
+        return this.getGitlabUsers(usernames, this.getUserByUsername.bind(this) as getGitlabUser, verbose, verboseIndent);
     }
 
     public async fetchMembers(options: { members_id?: Array<number>, members_username?: Array<string> }): Promise<Array<UserSchema> | undefined> {
diff --git a/NodeApp/src/managers/SessionManager.ts b/NodeApp/src/managers/SessionManager.ts
index db7f4ee7e242bf36ba4cca38be530fb16796ceb9..ef5bc6596c45a918839f99b93cdb4af870cb0ae4 100644
--- a/NodeApp/src/managers/SessionManager.ts
+++ b/NodeApp/src/managers/SessionManager.ts
@@ -118,7 +118,6 @@ class SessionManager {
 
         if ( credentials.accessToken ) {
             GlobalHelper.gitlabManager.setToken(credentials.accessToken);
-            GlobalHelper.sharedGitlabManager.setToken(credentials.accessToken);
         }
     }
 
@@ -209,7 +208,7 @@ class SessionManager {
                                         }).start();
         let gitlabTokens: GitlabToken;
         try {
-            gitlabTokens = await GlobalHelper.sharedGitlabManager.getTokens(gitlabCode);
+            gitlabTokens = await GlobalHelper.gitlabManager.getTokens(gitlabCode);
             this.gitlabCredentials = {
                 refreshToken: gitlabTokens.refresh_token,
                 accessToken : gitlabTokens.access_token
diff --git a/NodeApp/src/shared b/NodeApp/src/shared
index 92e13a3dc0ca751737d782430f5e902f1ec20c14..04b3a985a963b87aed586e6b06718dd3052ad32e 160000
--- a/NodeApp/src/shared
+++ b/NodeApp/src/shared
@@ -1 +1 @@
-Subproject commit 92e13a3dc0ca751737d782430f5e902f1ec20c14
+Subproject commit 04b3a985a963b87aed586e6b06718dd3052ad32e