diff --git a/models/Assignment.ts b/models/Assignment.ts
index c56f42536b6457b93497e9562b8e7258c3157363..554d4a5cbc6f9641b90a113361bb472943a2394e 100644
--- a/models/Assignment.ts
+++ b/models/Assignment.ts
@@ -1,14 +1,14 @@
-import GitlabRepository from '../../shared/types/Gitlab/GitlabRepository';
-import User             from './User';
-import Exercise         from './Exercise';
+import User        from './User';
+import Exercise    from './Exercise';
+import * as Gitlab from '@gitbeaker/rest';
 
 
 interface Assignment {
     name: string;
     gitlabId: number;
     gitlabLink: string;
-    gitlabCreationInfo: GitlabRepository;
-    gitlabLastInfo: GitlabRepository;
+    gitlabCreationInfo: Gitlab.ProjectSchema;
+    gitlabLastInfo: Gitlab.ProjectSchema;
     gitlabLastInfoDate: string;
     published: boolean;
 
diff --git a/models/Exercise.ts b/models/Exercise.ts
index b8a2b83b02d763effa7516905028fd760da37cf7..0ec86f6e291dc74fe249e702772e347f93faca53 100644
--- a/models/Exercise.ts
+++ b/models/Exercise.ts
@@ -1,7 +1,6 @@
-import GitlabRepository from '../../shared/types/Gitlab/GitlabRepository';
-import * as Gitlab      from '@gitbeaker/rest';
-import User             from './User';
-import Assignment       from './Assignment';
+import User        from './User';
+import Assignment  from './Assignment';
+import * as Gitlab from '@gitbeaker/rest';
 
 
 interface Exercise {
@@ -10,8 +9,8 @@ interface Exercise {
     name: string;
     gitlabId: number;
     gitlabLink: string;
-    gitlabCreationInfo: GitlabRepository;
-    gitlabLastInfo: GitlabRepository;
+    gitlabCreationInfo: Gitlab.ProjectSchema;
+    gitlabLastInfo: Gitlab.ProjectSchema;
     gitlabLastInfoDate: string;
 
     members: Array<User> | undefined;
diff --git a/models/ExerciseAssignment.ts b/models/ExerciseAssignment.ts
index 727447fa1f138d747892c9f34f13fbfaea1e5d49..ec75edaa84d2f0c464f6a50c901126f8c14298fd 100644
--- a/models/ExerciseAssignment.ts
+++ b/models/ExerciseAssignment.ts
@@ -1,12 +1,12 @@
 import AssignmentFile from '../../shared/types/Dojo/AssignmentFile';
 import Assignment     from './Assignment';
-import GitlabFile     from '../../shared/types/Gitlab/GitlabFile';
+import * as Gitlab    from '@gitbeaker/rest';
 
 
 interface ExerciseAssignment {
     assignment: Assignment;
     assignmentFile: AssignmentFile;
-    immutable: Array<GitlabFile>;
+    immutable: Array<Gitlab.RepositoryFileSchema>;
 }
 
 
diff --git a/models/User.ts b/models/User.ts
index 0be9e528efd0d72fa7ad44838da39d96567c4a33..df757d182bab02ccb20caa11601aba34b1527372 100644
--- a/models/User.ts
+++ b/models/User.ts
@@ -1,7 +1,7 @@
-import UserRole      from './UserRole';
-import Exercise      from './Exercise';
-import Assignment    from './Assignment';
-import GitlabProfile from '../../shared/types/Gitlab/GitlabProfile';
+import UserRole    from './UserRole';
+import Exercise    from './Exercise';
+import Assignment  from './Assignment';
+import * as Gitlab from '@gitbeaker/rest';
 
 
 interface User {
@@ -10,7 +10,7 @@ interface User {
     mail: string;
     role: UserRole;
     gitlabUsername: string;
-    gitlabLastInfo: GitlabProfile;
+    gitlabLastInfo: Gitlab.ExpandedUserSchema;
     isTeachingStaff: boolean;
     isAdmin: boolean;
     deleted: boolean;