diff --git a/src/ClientServer/Controllers/ControllerWithDb.cs b/src/ClientServer/Controllers/ControllerWithDb.cs
index 096bac3a3e5163d8b0bac5a6594b469f24214aa8..62485b9d8e59208a3f68110319465d39ab2314c1 100644
--- a/src/ClientServer/Controllers/ControllerWithDb.cs
+++ b/src/ClientServer/Controllers/ControllerWithDb.cs
@@ -16,10 +16,10 @@ namespace ClientServer.Controllers
 {
     public class ControllerWithDb : Controller
     {
-        protected readonly SyndromDbContext _context;
+        protected readonly YapexDbContext _context;
 
 
-        public ControllerWithDb(SyndromDbContext context)
+        public ControllerWithDb(YapexDbContext context)
         {
             _context = context;
         }
diff --git a/src/ClientServer/Controllers/Core/AssessmentStatisticsController.cs b/src/ClientServer/Controllers/Core/AssessmentStatisticsController.cs
index 0f30f266c9ca5f49af7b4887b82c01201dc8974b..1863f3999b863f099e950963c2cc3e5fa7ac49b9 100644
--- a/src/ClientServer/Controllers/Core/AssessmentStatisticsController.cs
+++ b/src/ClientServer/Controllers/Core/AssessmentStatisticsController.cs
@@ -20,7 +20,7 @@ namespace ClientServer.Controllers.Core
     [Route(Constants.ApiPrefix + "assessmentstatistics")]
     public class AssessmentStatisticsController : ControllerWithDb
     {
-        public AssessmentStatisticsController(SyndromDbContext context) : base(context)
+        public AssessmentStatisticsController(YapexDbContext context) : base(context)
         {
 
         }
diff --git a/src/ClientServer/Controllers/Core/CustomProjects/CustomProjectsOverviewController.cs b/src/ClientServer/Controllers/Core/CustomProjects/CustomProjectsOverviewController.cs
index f592c10d64015f936030e2242b46016a05ca06f5..b34cfe91666d987523204aee8ce4e52c4cf917a8 100644
--- a/src/ClientServer/Controllers/Core/CustomProjects/CustomProjectsOverviewController.cs
+++ b/src/ClientServer/Controllers/Core/CustomProjects/CustomProjectsOverviewController.cs
@@ -19,7 +19,7 @@ namespace ClientServer.Controllers.Core.customProjects
     [Route(Constants.ApiPrefix + "custom/projects/overview")]
     public class CustomProjectsOverviewController : ControllerWithDb
     {
-        public CustomProjectsOverviewController(SyndromDbContext context) : base(context)
+        public CustomProjectsOverviewController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/CustomProjects/EditCustomProjectController.cs b/src/ClientServer/Controllers/Core/CustomProjects/EditCustomProjectController.cs
index 01b424446faf9be82b8661f4115f84efd24be5aa..b1dbc3932db5cc453ff7718ca6986d0d91d413db 100644
--- a/src/ClientServer/Controllers/Core/CustomProjects/EditCustomProjectController.cs
+++ b/src/ClientServer/Controllers/Core/CustomProjects/EditCustomProjectController.cs
@@ -20,7 +20,7 @@ namespace ClientServer.Controllers.Core.customProjects
     [Route(Constants.ApiPrefix + "custom/projects/edit")]
     public class EditCustomProjectController : ControllerWithDb
     {
-        public EditCustomProjectController(SyndromDbContext context) : base(context)
+        public EditCustomProjectController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/DoExerciseAfterSolution/DoExerciseAfterSolutionController.cs b/src/ClientServer/Controllers/Core/Exercises/DoExerciseAfterSolution/DoExerciseAfterSolutionController.cs
index 63ffb6a6c1079580c5a889a2c7542c98535093e0..537e39aee60d5c77c63249085974ece1122e7e04 100644
--- a/src/ClientServer/Controllers/Core/Exercises/DoExerciseAfterSolution/DoExerciseAfterSolutionController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/DoExerciseAfterSolution/DoExerciseAfterSolutionController.cs
@@ -27,7 +27,7 @@ namespace ClientServer.Controllers.Core.Exercises.DoExerciseAfterSolution
     [Route(Constants.ApiPrefix + "exercise/do/aftersolution")]
     public class DoExerciseAfterSolutionController : ControllerWithDb
     {
-        public DoExerciseAfterSolutionController(SyndromDbContext context) : base(context)
+        public DoExerciseAfterSolutionController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs b/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs
index 903869138b3e3ea57056e38129bb375c8cbc98e1..66529cd4c2148b1914ee7c6c50045e03c83913ff 100644
--- a/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs
@@ -32,7 +32,7 @@ namespace ClientServer.Controllers.Core.Exercises
          */
 
 
-        public DoExerciseController(SyndromDbContext context) : base(context)
+        public DoExerciseController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/DownloadAssetController.cs b/src/ClientServer/Controllers/Core/Exercises/DownloadAssetController.cs
index 640deae10e239dcfa4c0c2bf8a10367a4b322eab..404f10835322e93cb0102434e20368592c379a22 100644
--- a/src/ClientServer/Controllers/Core/Exercises/DownloadAssetController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/DownloadAssetController.cs
@@ -29,7 +29,7 @@ namespace ClientServer.Controllers.Core.Exercises
         
         
 
-        public DownloadAssetController(SyndromDbContext context) : base(context)
+        public DownloadAssetController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs b/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs
index 2c85385439b0753afd09cd430994ab4919df9f65..4b4aacc8c2c407a6e7202a5f3ce80ddc158af47f 100644
--- a/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/ExerciseEditorController.cs
@@ -20,7 +20,7 @@ namespace ClientServer.Controllers.Core.Exercises
     [Route(Constants.ApiPrefix + "exercise/editor")]
     public class ExerciseEditorController : ControllerWithDb
     {
-        public ExerciseEditorController(SyndromDbContext context) : base(context)
+        public ExerciseEditorController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/ExerciseOverviewController.cs b/src/ClientServer/Controllers/Core/Exercises/ExerciseOverviewController.cs
index fd39357ebb81a9373d015ad581ad8d4cf60794a8..253993b494e89345b63cb5526a88a2e4c8288f75 100644
--- a/src/ClientServer/Controllers/Core/Exercises/ExerciseOverviewController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/ExerciseOverviewController.cs
@@ -25,7 +25,7 @@ namespace ClientServer.Controllers.Core.Exercises
     {
         public static List<string> possibleLogicalConnectors = new List<string>() {"and", "or"};
 
-        public ExerciseOverviewController(SyndromDbContext context) : base(context)
+        public ExerciseOverviewController(YapexDbContext context) : base(context)
         {
         }
 
@@ -584,7 +584,7 @@ namespace ClientServer.Controllers.Core.Exercises
                              || p.GroupRole.GroupRolePermission.CanChangeExercises
                              || p.GroupRole.GroupRolePermission.CanDeleteExercises
                              || p.GroupRole.GroupRolePermission.CanAssessExercises
-                             || p.GroupRole.GroupRolePermission.CanReleaseExercises
+                             || p.GroupRole.GroupRolePermission.CanManageExerciseReleases
                              || p.GroupRole.GroupRolePermission.CanSeeExercisesFromOthersInGroup
                          )
                 )
@@ -605,7 +605,7 @@ namespace ClientServer.Controllers.Core.Exercises
                         canChangeExercises: p.GroupRole.GroupRolePermission.CanChangeExercises,
                         canCreateExercises: p.GroupRole.GroupRolePermission.CanCreateExercises,
                         canAssessExercises: p.GroupRole.GroupRolePermission.CanAssessExercises,
-                        canReleaseExercises: p.GroupRole.GroupRolePermission.CanReleaseExercises,
+                        canReleaseExercises: p.GroupRole.GroupRolePermission.CanManageExerciseReleases,
                         canDeleteExercises: p.GroupRole.GroupRolePermission.CanDeleteExercises,
                         canAddUserToGroup: p.GroupRole.GroupRolePermission.CanAddUserToGroup,
                         canLockExercisesPermanently: p.GroupRole.GroupRolePermission.CanLockExercisesPermanently,
@@ -651,7 +651,7 @@ namespace ClientServer.Controllers.Core.Exercises
                                                                      || p.GroupRole.GroupRolePermission
                                                                          .CanAssessExercises
                                                                      || p.GroupRole.GroupRolePermission
-                                                                         .CanReleaseExercises
+                                                                         .CanManageExerciseReleases
                                                                      || p.GroupRole.GroupRolePermission
                                                                          .CanSeeExercisesFromOthersInGroup
                                                                  ))
@@ -1084,7 +1084,7 @@ namespace ClientServer.Controllers.Core.Exercises
                 || groupPermission.CanChangeExercises
                 || groupPermission.CanDeleteExercises
                 || groupPermission.CanAssessExercises
-                || groupPermission.CanReleaseExercises
+                || groupPermission.CanManageExerciseReleases
                 || groupPermission.CanSeeExercisesFromOthersInGroup
                 || exercise.UserId == userId //or it's our own exercise
             )
@@ -1144,7 +1144,7 @@ namespace ClientServer.Controllers.Core.Exercises
                     canCreateExercises: managingGroupConnection.GroupRole.GroupRolePermission.CanCreateExercises,
                     canAssessExercises: managingGroupConnection.GroupRole.GroupRolePermission.CanAssessExercises,
                     canDeleteExercises: managingGroupConnection.GroupRole.GroupRolePermission.CanDeleteExercises,
-                    canReleaseExercises: managingGroupConnection.GroupRole.GroupRolePermission.CanReleaseExercises,
+                    canReleaseExercises: managingGroupConnection.GroupRole.GroupRolePermission.CanManageExerciseReleases,
                     canAddUserToGroup: managingGroupConnection.GroupRole.GroupRolePermission.CanAddUserToGroup,
                     canLockExercisesPermanently: managingGroupConnection.GroupRole.GroupRolePermission
                         .CanLockExercisesPermanently,
diff --git a/src/ClientServer/Controllers/Core/Exercises/PLangController.cs b/src/ClientServer/Controllers/Core/Exercises/PLangController.cs
index 7a7640e1ec310469f081b08ddc2e373c2d5f82f7..56c2fe647b838e286e5e5b4575f67e16aed63456 100644
--- a/src/ClientServer/Controllers/Core/Exercises/PLangController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/PLangController.cs
@@ -17,7 +17,7 @@ namespace ClientServer.Controllers.Core.Exercises
     [Route(Constants.ApiPrefix + "plangs")]
     public class PLangController : ControllerWithDb
     {
-        public PLangController(SyndromDbContext context) : base(context)
+        public PLangController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/ReleaseController.cs b/src/ClientServer/Controllers/Core/Exercises/ReleaseController.cs
index a6fdd5b785cef62459c8bc6ea595c27f05c07074..1bf2cfa1d103038658e822baef9d3a53b5ba9c12 100644
--- a/src/ClientServer/Controllers/Core/Exercises/ReleaseController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/ReleaseController.cs
@@ -19,7 +19,7 @@ namespace ClientServer.Controllers.Core.Exercises
     [Route(Constants.ApiPrefix + "exercise/releases")]
     public class ReleaseController : ControllerWithDb
     {
-        public ReleaseController(SyndromDbContext context) : base(context)
+        public ReleaseController(YapexDbContext context) : base(context)
         {
         }
 
@@ -52,7 +52,7 @@ namespace ClientServer.Controllers.Core.Exercises
                     .FirstOrDefaultAsync();
 
             if (!await base.HasGroupPermission(targetUserGroup,
-                permission => permission != null && permission.CanReleaseExercises))
+                permission => permission != null && permission.CanManageExerciseReleases))
             {
                 await
                     Response.WriteAsync(
@@ -313,11 +313,11 @@ namespace ClientServer.Controllers.Core.Exercises
                     .FirstOrDefaultAsync();
 
             if (!await base.HasGroupPermission(targetUserGroup,
-                permission => permission != null && permission.CanReleaseExercises))
+                permission => permission != null && permission.CanManageExerciseReleases))
             {
                 await
                     Response.WriteAsync(
-                        Jc.Serialize(new BasicResponse(ResponseCode.NoPermission, "not permission")));
+                        Jc.Serialize(new BasicResponse(ResponseCode.NoPermission, "no permission")));
                 return;
             }
 
@@ -704,7 +704,21 @@ namespace ClientServer.Controllers.Core.Exercises
                         Jc.Serialize(new BasicResponse(ResponseCode.InvalidRequest, "invalid release id")));
                 return;
             }
+            
+            //the user group that manages the exercise
+            var targetUserGroup =
+                await _context.ExerciseReleases.Where(p => p.Id == releaseId)
+                    .Select(p => p.Exercise.UserGroupId)
+                    .FirstOrDefaultAsync();
 
+            if (!await base.HasGroupPermission(targetUserGroup,
+                permission => permission != null && permission.CanManageExerciseReleases))
+            {
+                await
+                    Response.WriteAsync(
+                        Jc.Serialize(new BasicResponse(ResponseCode.NoPermission, "no permission")));
+                return;
+            }
 
             var release = await _context.ExerciseReleases
                 .FirstOrDefaultAsync(p => p.Id == releaseId);
@@ -799,7 +813,7 @@ namespace ClientServer.Controllers.Core.Exercises
 
             if (!await base.HasGroupPermission(targetUserGroup,
                 permission => permission != null &&
-                              (permission.CanReleaseExercises || permission.CanAssessExercises
+                              (permission.CanManageExerciseReleases || permission.CanAssessExercises
                               )
             ))
             {
@@ -988,7 +1002,7 @@ namespace ClientServer.Controllers.Core.Exercises
 
             if (!await base.HasGroupPermission(targetUserGroup,
                 permission => permission != null &&
-                              (permission.CanReleaseExercises || permission.CanAssessExercises
+                              (permission.CanManageExerciseReleases || permission.CanAssessExercises
                               )
             ))
             {
diff --git a/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs b/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs
index 1bbfd87639b76e571648874b28c4192b13b8d9ae..9dd5198d9bea85d063b8b53f8983238e8e095ae5 100644
--- a/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/SubmissionController.cs
@@ -42,7 +42,7 @@ namespace ClientServer.Controllers.Core.Exercises
         /// </summary>
         public readonly static string DefaultSubmissionWithCodeTemplatesDirName = "template";
 
-        public SubmissionController(SyndromDbContext context) : base(context)
+        public SubmissionController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/TagsController.cs b/src/ClientServer/Controllers/Core/Exercises/TagsController.cs
index fe2887aedd61624ab51326618ad0d27e4bd72389..90a7ab41d92e5cb8083f71c3f35afe19fff294f3 100644
--- a/src/ClientServer/Controllers/Core/Exercises/TagsController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/TagsController.cs
@@ -17,7 +17,7 @@ namespace ClientServer.Controllers.Core.Exercises
     [Route(Constants.ApiPrefix + "tags")]
     public class TagsController : ControllerWithDb
     {
-        public TagsController(SyndromDbContext context) : base(context)
+        public TagsController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/TestTypesController.cs b/src/ClientServer/Controllers/Core/Exercises/TestTypesController.cs
index 564dd368fa1d05e1ad3347ff53cbf7239294f603..110c605115b9c8ea67d7dd3eef1189684b4e8265 100644
--- a/src/ClientServer/Controllers/Core/Exercises/TestTypesController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/TestTypesController.cs
@@ -18,7 +18,7 @@ namespace ClientServer.Controllers.Core.Exercises
     [Route(Constants.ApiPrefix + "testtypes")]
     public class TestTypesController : ControllerWithDb
     {
-        public TestTypesController(SyndromDbContext context) : base(context)
+        public TestTypesController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs b/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs
index 4a2cec3d513cf17a406f4c1532a3c50f991e01f2..a0ecd8c80faf39fa6aa1739ee2a7accc6a3bee1b 100644
--- a/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/TutorViewAssessmentController.cs
@@ -24,7 +24,7 @@ namespace ClientServer.Controllers.Core.Exercises
     [Route(Constants.ApiPrefix + "tutor/view/assessment")]
     public class TutorViewAssessmentController : ControllerWithDb
     {
-        public TutorViewAssessmentController(SyndromDbContext context) : base(context)
+        public TutorViewAssessmentController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Init.cs b/src/ClientServer/Controllers/Core/Init.cs
index 1b6821f2d478851f2d814c173e5910cf9632d6f3..e13624169b5b486eeddc2d9c9f91e870be50c67c 100644
--- a/src/ClientServer/Controllers/Core/Init.cs
+++ b/src/ClientServer/Controllers/Core/Init.cs
@@ -23,10 +23,10 @@ namespace ClientServer.Controllers.Core
     [Route(Constants.InitControllerAbsolutePath)]
     public class Init : Controller
     {
-        private readonly SyndromDbContext _context;
+        private readonly YapexDbContext _context;
 
 
-        public Init(SyndromDbContext context)
+        public Init(YapexDbContext context)
         {
             _context = context;
         }
@@ -340,10 +340,10 @@ namespace ClientServer.Controllers.Core
                                 {
                                     OriginalName = descriptionAsset.DisplayName,
                                     CreatedAt = (DateTime) _context.Entry(descriptionAsset)
-                                        .Property(SyndromDbContext.CreatedAt)
+                                        .Property(YapexDbContext.CreatedAt)
                                         .CurrentValue,
                                     LastUpdatedAt = (DateTime) _context.Entry(descriptionAsset)
-                                        .Property(SyndromDbContext.LastUpdatedAt).CurrentValue,
+                                        .Property(YapexDbContext.LastUpdatedAt).CurrentValue,
                                     MimeType = descriptionAsset.MimeType,
                                     SizeInBytes = descriptionAsset.Content.Length,
                                     Hash = "",
@@ -508,10 +508,10 @@ namespace ClientServer.Controllers.Core
                                 {
                                     OriginalName = testAsset.DisplayName,
                                     CreatedAt = (DateTime) _context.Entry(testAsset)
-                                        .Property(SyndromDbContext.CreatedAt)
+                                        .Property(YapexDbContext.CreatedAt)
                                         .CurrentValue,
                                     LastUpdatedAt = (DateTime) _context.Entry(testAsset)
-                                        .Property(SyndromDbContext.LastUpdatedAt).CurrentValue,
+                                        .Property(YapexDbContext.LastUpdatedAt).CurrentValue,
                                     MimeType = testAsset.MimeType,
                                     SizeInBytes = testAsset.Content.Length,
                                     Hash = "",
@@ -616,10 +616,10 @@ namespace ClientServer.Controllers.Core
                                 {
                                     OriginalName = customTestAsset.DisplayName,
                                     CreatedAt = (DateTime) _context.Entry(customTestAsset)
-                                        .Property(SyndromDbContext.CreatedAt)
+                                        .Property(YapexDbContext.CreatedAt)
                                         .CurrentValue,
                                     LastUpdatedAt = (DateTime) _context.Entry(customTestAsset)
-                                        .Property(SyndromDbContext.LastUpdatedAt).CurrentValue,
+                                        .Property(YapexDbContext.LastUpdatedAt).CurrentValue,
                                     MimeType = customTestAsset.MimeType,
                                     SizeInBytes = customTestAsset.Content.Length,
                                     Hash = "",
@@ -725,10 +725,10 @@ namespace ClientServer.Controllers.Core
                                 {
                                     OriginalName = customAsset.DisplayName,
                                     CreatedAt = (DateTime) _context.Entry(customAsset)
-                                        .Property(SyndromDbContext.CreatedAt)
+                                        .Property(YapexDbContext.CreatedAt)
                                         .CurrentValue,
                                     LastUpdatedAt = (DateTime) _context.Entry(customAsset)
-                                        .Property(SyndromDbContext.LastUpdatedAt).CurrentValue,
+                                        .Property(YapexDbContext.LastUpdatedAt).CurrentValue,
                                     MimeType = customAsset.MimeType,
                                     SizeInBytes = customAsset.Content.Length,
                                     Hash = "",
@@ -894,10 +894,10 @@ namespace ClientServer.Controllers.Core
                                 {
                                     OriginalName = customProjectTestAsset.DisplayName,
                                     CreatedAt = (DateTime) _context.Entry(customProjectTestAsset)
-                                        .Property(SyndromDbContext.CreatedAt)
+                                        .Property(YapexDbContext.CreatedAt)
                                         .CurrentValue,
                                     LastUpdatedAt = (DateTime) _context.Entry(customProjectTestAsset)
-                                        .Property(SyndromDbContext.LastUpdatedAt).CurrentValue,
+                                        .Property(YapexDbContext.LastUpdatedAt).CurrentValue,
                                     MimeType = customProjectTestAsset.MimeType,
                                     SizeInBytes = customProjectTestAsset.Content.Length,
                                     Hash = "",
diff --git a/src/ClientServer/Controllers/Core/Login/AuthController.cs b/src/ClientServer/Controllers/Core/Login/AuthController.cs
index 1e0c535a46e510b510394812b2e0dba49fb7e2e3..a69354d256d35cc4ad9a3d6db93ce44327077ff4 100644
--- a/src/ClientServer/Controllers/Core/Login/AuthController.cs
+++ b/src/ClientServer/Controllers/Core/Login/AuthController.cs
@@ -24,7 +24,7 @@ namespace ClientServer.Controllers.Core.Login
     //[EnableCors("CorsPolicy")]
     public class AuthController : ControllerWithDb
     {
-        public AuthController(SyndromDbContext context) : base(context)
+        public AuthController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs b/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs
index 2c0356e0b9f4b282ab9ffc4646add2a8d3e10882..4a942a76341d7b084011aca5c60fe6dd08cafdd2 100644
--- a/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs
+++ b/src/ClientServer/Controllers/Core/Login/AuthTokenController.cs
@@ -25,7 +25,7 @@ namespace ClientServer.Controllers.Core.Login
         }
 
 
-        public AuthTokenController(SyndromDbContext context) : base(context)
+        public AuthTokenController(YapexDbContext context) : base(context)
         {
         }
 
@@ -125,7 +125,7 @@ namespace ClientServer.Controllers.Core.Login
         /// <param name="oldToken"></param>
         /// <param name="_context"></param>
         /// <returns></returns>
-        public static async Task<string> _ExtendTokenLifetime(int userId, AuthToken oldToken, SyndromDbContext _context)
+        public static async Task<string> _ExtendTokenLifetime(int userId, AuthToken oldToken, YapexDbContext _context)
         {
             Contract.Requires(_context.Users.Any(p => p.Id == userId));
 
diff --git a/src/ClientServer/Controllers/Core/Misc/LangController.cs b/src/ClientServer/Controllers/Core/Misc/LangController.cs
index 02adddf857b62153641334f71d72e259f398a16c..45e840ba769ef99a866ef873e9244f0edc5c72b7 100644
--- a/src/ClientServer/Controllers/Core/Misc/LangController.cs
+++ b/src/ClientServer/Controllers/Core/Misc/LangController.cs
@@ -20,7 +20,7 @@ namespace ClientServer.Controllers.Core.Exercises
     {
         static SemaphoreSlim semaphoreSlim = new SemaphoreSlim(1, 1);
 
-        public LangController(SyndromDbContext context) : base(context)
+        public LangController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/SystemSettingsController.cs b/src/ClientServer/Controllers/Core/SystemSettingsController.cs
index a8ca00e4bebcae123c857fdc98bac5532b124ecc..45c30477dcaeb0c79bc8488e49787b638c8dc7f2 100644
--- a/src/ClientServer/Controllers/Core/SystemSettingsController.cs
+++ b/src/ClientServer/Controllers/Core/SystemSettingsController.cs
@@ -35,7 +35,7 @@ namespace ClientServer.Controllers.Core
             HardCompileTimeoutInMs = -1,
         };
 
-        public SystemSettingsController(SyndromDbContext context) : base(context)
+        public SystemSettingsController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Testing/TestingController.cs b/src/ClientServer/Controllers/Core/Testing/TestingController.cs
index a6b18bec7a68c24091613c4da4e40802e20ab056..a71f5c5e3da3fd8b248be0fdfc19b5d1d0d21e9b 100644
--- a/src/ClientServer/Controllers/Core/Testing/TestingController.cs
+++ b/src/ClientServer/Controllers/Core/Testing/TestingController.cs
@@ -72,7 +72,7 @@ namespace ClientServer.Controllers.Core.Testing
         //private static string TestServerApiUrl = "http://192.168.145.128:8001/api.php";
 
 
-        public TestingController(SyndromDbContext context) : base(context)
+        public TestingController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/TimeController.cs b/src/ClientServer/Controllers/Core/TimeController.cs
index 1d23522f244283811c98556a1806e7f2931805e8..745c6ad4bd1daa4c06a2c824db2e16c7ae1f1ced 100644
--- a/src/ClientServer/Controllers/Core/TimeController.cs
+++ b/src/ClientServer/Controllers/Core/TimeController.cs
@@ -13,7 +13,7 @@ namespace ClientServer.Controllers.Core
     [Route(Constants.ApiPrefix + "time")]
     public class TimeController : ControllerWithDb
     {
-        public TimeController(SyndromDbContext context) : base(context)
+        public TimeController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Users/GroupController.cs b/src/ClientServer/Controllers/Core/Users/GroupController.cs
index fc6cbe213fd72278b65adb8bce8909aebc1079e2..3c7d1b2fa383b0c1409a97092820249cd437aeba 100644
--- a/src/ClientServer/Controllers/Core/Users/GroupController.cs
+++ b/src/ClientServer/Controllers/Core/Users/GroupController.cs
@@ -17,7 +17,7 @@ namespace ClientServer.Controllers.Core.Users
     [Route(Constants.ApiPrefix + "groups")]
     public class GroupController : ControllerWithDb
     {
-        public GroupController(SyndromDbContext context) : base(context)
+        public GroupController(YapexDbContext context) : base(context)
         {
         }
 
@@ -321,7 +321,7 @@ namespace ClientServer.Controllers.Core.Users
                         canChangeExercises: userWithUserGroup.GroupRole.GroupRolePermission.CanChangeExercises,
                         canCreateExercises: userWithUserGroup.GroupRole.GroupRolePermission.CanCreateExercises,
                         canAssessExercises: userWithUserGroup.GroupRole.GroupRolePermission.CanAssessExercises,
-                        canReleaseExercises: userWithUserGroup.GroupRole.GroupRolePermission.CanReleaseExercises,
+                        canReleaseExercises: userWithUserGroup.GroupRole.GroupRolePermission.CanManageExerciseReleases,
                         canDeleteExercises: userWithUserGroup.GroupRole.GroupRolePermission.CanDeleteExercises,
                         canAddUserToGroup: userWithUserGroup.GroupRole.GroupRolePermission.CanAddUserToGroup,
                         canLockExercisesPermanently: userWithUserGroup.GroupRole.GroupRolePermission.CanLockExercisesPermanently,
@@ -393,7 +393,7 @@ namespace ClientServer.Controllers.Core.Users
                             canChangeExercises: connection.GroupRole.GroupRolePermission.CanChangeExercises,
                             canCreateExercises: connection.GroupRole.GroupRolePermission.CanCreateExercises,
                             canAssessExercises: connection.GroupRole.GroupRolePermission.CanAssessExercises,
-                            canReleaseExercises: connection.GroupRole.GroupRolePermission.CanReleaseExercises,
+                            canReleaseExercises: connection.GroupRole.GroupRolePermission.CanManageExerciseReleases,
                             canDeleteExercises: connection.GroupRole.GroupRolePermission.CanDeleteExercises,
                             canAddUserToGroup: connection.GroupRole.GroupRolePermission.CanAddUserToGroup,
                             canLockExercisesPermanently: connection.GroupRole.GroupRolePermission.CanLockExercisesPermanently,
@@ -987,7 +987,7 @@ namespace ClientServer.Controllers.Core.Users
                 canChangeExercises: groupRole.GroupRolePermission.CanChangeExercises,
                 canDeleteExercises: groupRole.GroupRolePermission.CanDeleteExercises,
                 canLockExercisesPermanently: connection.GroupRole.GroupRolePermission.CanLockExercisesPermanently,
-                canReleaseExercises: groupRole.GroupRolePermission.CanReleaseExercises,
+                canReleaseExercises: groupRole.GroupRolePermission.CanManageExerciseReleases,
                 canRemoveMemberFromGroup: groupRole.GroupRolePermission.CanRemoveMemberFromGroup,
                 canSeeExercisesFromOthersInGroup: groupRole.GroupRolePermission.CanSeeExercisesFromOthersInGroup,
                 canSeeOtherMembers: connection.GroupRole.GroupRolePermission.CanSeeOtherMembers,
diff --git a/src/ClientServer/Controllers/Core/Users/GroupRolesController.cs b/src/ClientServer/Controllers/Core/Users/GroupRolesController.cs
index efc40b88e3f247d887f33bc20ad4e4f8302be47d..4ed84ab6c944943f334496322595d2052cc44571 100644
--- a/src/ClientServer/Controllers/Core/Users/GroupRolesController.cs
+++ b/src/ClientServer/Controllers/Core/Users/GroupRolesController.cs
@@ -17,7 +17,7 @@ namespace ClientServer.Controllers.Core.Users
     [Route(Constants.ApiPrefix + "grouproles")]
     public class GroupRolesController : ControllerWithDb
     {
-        public GroupRolesController(SyndromDbContext context) : base(context)
+        public GroupRolesController(YapexDbContext context) : base(context)
         {
         }
 
@@ -76,7 +76,7 @@ namespace ClientServer.Controllers.Core.Users
                     canChangeExercises: groupRole.GroupRolePermission.CanChangeExercises,
                     canDeleteExercises: groupRole.GroupRolePermission.CanDeleteExercises,
                     canLockExercisesPermanently: groupRole.GroupRolePermission.CanLockExercisesPermanently,
-                    canReleaseExercises: groupRole.GroupRolePermission.CanReleaseExercises,
+                    canReleaseExercises: groupRole.GroupRolePermission.CanManageExerciseReleases,
                     canRemoveMemberFromGroup: groupRole.GroupRolePermission.CanRemoveMemberFromGroup,
                     canSeeExercisesFromOthersInGroup: groupRole.GroupRolePermission.CanSeeExercisesFromOthersInGroup,
                     canSeeOtherMembers: groupRole.GroupRolePermission.CanSeeOtherMembers,
@@ -146,7 +146,7 @@ namespace ClientServer.Controllers.Core.Users
                     canChangeExercises: groupRole.GroupRolePermission.CanChangeExercises,
                     canDeleteExercises: groupRole.GroupRolePermission.CanDeleteExercises,
                     canLockExercisesPermanently: groupRole.GroupRolePermission.CanLockExercisesPermanently,
-                    canReleaseExercises: groupRole.GroupRolePermission.CanReleaseExercises,
+                    canReleaseExercises: groupRole.GroupRolePermission.CanManageExerciseReleases,
                     canRemoveMemberFromGroup: groupRole.GroupRolePermission.CanRemoveMemberFromGroup,
                     canSeeExercisesFromOthersInGroup: groupRole.GroupRolePermission.CanSeeExercisesFromOthersInGroup,
                     canSeeOtherMembers: groupRole.GroupRolePermission.CanSeeOtherMembers,
@@ -194,7 +194,7 @@ namespace ClientServer.Controllers.Core.Users
                     CanSeeExercisesFromOthersInGroup: role.CanSeeExercisesFromOthersInGroup,
                     CanRemoveMemberFromGroup: role.CanRemoveMemberFromGroup,
                     CanChangeExercises: role.CanChangeExercises,
-                    CanReleaseExercises: role.CanReleaseExercises,
+                    canManageExerciseReleases: role.CanReleaseExercises,
                     CanSeeOtherMembers: role.CanSeeExercisesFromOthersInGroup,
                     CanChangeGroupData: role.CanChangeGroupData
                 )
@@ -220,7 +220,7 @@ namespace ClientServer.Controllers.Core.Users
                 canChangeExercises: newRole.GroupRolePermission.CanChangeExercises,
                 canCreateExercises: newRole.GroupRolePermission.CanCreateExercises,
                 canRemoveMemberFromGroup: newRole.GroupRolePermission.CanRemoveMemberFromGroup,
-                canReleaseExercises: newRole.GroupRolePermission.CanReleaseExercises,
+                canReleaseExercises: newRole.GroupRolePermission.CanManageExerciseReleases,
                 canAddUserToGroup: newRole.GroupRolePermission.CanAddUserToGroup,
                 canDeleteExercises: newRole.GroupRolePermission.CanDeleteExercises,
                 canLockExercisesPermanently: newRole.GroupRolePermission.CanLockExercisesPermanently,
@@ -279,7 +279,7 @@ namespace ClientServer.Controllers.Core.Users
             oldRole.GroupRolePermission.CanSeeExercisesFromOthersInGroup = role.CanSeeExercisesFromOthersInGroup;
             oldRole.GroupRolePermission.CanRemoveMemberFromGroup = role.CanRemoveMemberFromGroup;
             oldRole.GroupRolePermission.CanChangeExercises = role.CanChangeExercises;
-            oldRole.GroupRolePermission.CanReleaseExercises = role.CanReleaseExercises;
+            oldRole.GroupRolePermission.CanManageExerciseReleases = role.CanReleaseExercises;
             oldRole.GroupRolePermission.CanSeeOtherMembers = role.CanSeeOtherMembers;
             oldRole.GroupRolePermission.CanChangeGroupData = role.CanChangeGroupData;
 
@@ -301,7 +301,7 @@ namespace ClientServer.Controllers.Core.Users
                 canChangeExercises: oldRole.GroupRolePermission.CanChangeExercises,
                 canCreateExercises: oldRole.GroupRolePermission.CanCreateExercises,
                 canRemoveMemberFromGroup: oldRole.GroupRolePermission.CanRemoveMemberFromGroup,
-                canReleaseExercises: oldRole.GroupRolePermission.CanReleaseExercises,
+                canReleaseExercises: oldRole.GroupRolePermission.CanManageExerciseReleases,
                 canAddUserToGroup: oldRole.GroupRolePermission.CanAddUserToGroup,
                 canDeleteExercises: oldRole.GroupRolePermission.CanDeleteExercises,
                 canLockExercisesPermanently: oldRole.GroupRolePermission.CanLockExercisesPermanently,
diff --git a/src/ClientServer/Controllers/Core/Users/SystemRolesController.cs b/src/ClientServer/Controllers/Core/Users/SystemRolesController.cs
index 611c5d344dfb6f2041f101110c5699c9829347bf..cf9eac18f1fc0aa0421dd759fa7dfb6db54e5c41 100644
--- a/src/ClientServer/Controllers/Core/Users/SystemRolesController.cs
+++ b/src/ClientServer/Controllers/Core/Users/SystemRolesController.cs
@@ -18,7 +18,7 @@ namespace ClientServer.Controllers.Core.Users
     [Route(Constants.ApiPrefix + "systemroles")]
     public class SystemRolesController : ControllerWithDb
     {
-        public SystemRolesController(SyndromDbContext context) : base(context)
+        public SystemRolesController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Users/UserSettingsController.cs b/src/ClientServer/Controllers/Core/Users/UserSettingsController.cs
index ad0dc94e2c61fa8ca80e0ab4f304dffbdf674eda..4f23c68007dc450e15c46cef5e48de488cbc7c91 100644
--- a/src/ClientServer/Controllers/Core/Users/UserSettingsController.cs
+++ b/src/ClientServer/Controllers/Core/Users/UserSettingsController.cs
@@ -19,7 +19,7 @@ namespace ClientServer.Controllers.Core.Users
     [Route(Constants.ApiPrefix + "user/settings")]
     public class UserSettingsController : ControllerWithDb
     {
-        public UserSettingsController(SyndromDbContext context) : base(context)
+        public UserSettingsController(YapexDbContext context) : base(context)
         {
         }
 
diff --git a/src/ClientServer/Controllers/Core/Users/UsersController.cs b/src/ClientServer/Controllers/Core/Users/UsersController.cs
index 31c9de40a2764be3d47ce15ba927e7a8d8d01171..b768c52eb8982480d399cd0e9b2e09b1b1f159ec 100644
--- a/src/ClientServer/Controllers/Core/Users/UsersController.cs
+++ b/src/ClientServer/Controllers/Core/Users/UsersController.cs
@@ -20,7 +20,7 @@ namespace ClientServer.Controllers.Core.Users
         //frontend also hashes...
         public static string EmptyStringPw = PasswordHelper.HashLikeFrontend("");
             
-        public UsersController(SyndromDbContext context) : base(context)
+        public UsersController(YapexDbContext context) : base(context)
         {
         }
 
@@ -32,7 +32,7 @@ namespace ClientServer.Controllers.Core.Users
         /// <param name="userId">the user id</param>
         /// <param name="context">the db context</param>
         /// <returns></returns>
-        internal static async Task<UserDataFullBase> _GetUserData(int userId, SyndromDbContext context)
+        internal static async Task<UserDataFullBase> _GetUserData(int userId, YapexDbContext context)
         {
             User matchedUser = await context.Users
                 .Include(p => p.SystemRole)
diff --git a/src/ClientServer/Controllers/dashboard/DashboardController.cs b/src/ClientServer/Controllers/dashboard/DashboardController.cs
index 802151f29cb117b56603c40b951150987466011d..f2fac83896023c2cb59de9b21f23b46b7e6cb655 100644
--- a/src/ClientServer/Controllers/dashboard/DashboardController.cs
+++ b/src/ClientServer/Controllers/dashboard/DashboardController.cs
@@ -30,7 +30,7 @@ namespace ClientServer.Controllers
         /// </summary>
         public static int OnlineUserIdleInMin = 5;
 
-        public DashboardController(SyndromDbContext context) : base(context)
+        public DashboardController(YapexDbContext context) : base(context)
         {
         }
 
@@ -260,7 +260,7 @@ namespace ClientServer.Controllers
             var maxIdleTime = new TimeSpan(0, OnlineUserIdleInMin, 0);
 
             int maybeOnlineUsers = await _context.AuthTokens
-                    .CountAsync(p => (now - EF.Property<DateTime>(p, SyndromDbContext.LastUpdatedAt)) <= maxIdleTime)
+                    .CountAsync(p => (now - EF.Property<DateTime>(p, YapexDbContext.LastUpdatedAt)) <= maxIdleTime)
                 ;
 
             //now take all users that have done something in the last minute (maxIdleTime)..
diff --git a/src/ClientServer/Db/SyndromDBContext.cs b/src/ClientServer/Db/YapexDbContext.cs
similarity index 97%
rename from src/ClientServer/Db/SyndromDBContext.cs
rename to src/ClientServer/Db/YapexDbContext.cs
index 147293668179f0a0dc6ff09a12834753353a0a8d..a72d1576c96de4b3caaf6ffe61e0d521aeb8976f 100644
--- a/src/ClientServer/Db/SyndromDBContext.cs
+++ b/src/ClientServer/Db/YapexDbContext.cs
@@ -20,36 +20,7 @@ using Microsoft.EntityFrameworkCore.Metadata;
 
 namespace ClientServer.Db
 {
-    //table n:n naming syntax: Table1_With_Table2(_As_BetterName)
-    //e.g. ExerciseWithUserAsSolution
-
-    /* a n:n table needs to handle delete bahavior e.g. user 1 -> 1..* UserWithUserGroup 1..*<- 1 UserGroup
-     * the n:n table 
-     * in this case the config should be as this:
-     * 
-
-        m.Entity<UserGroup>()
-            .HasMany(p => p.UserWithUserGroups)
-            .WithOne(p => p.UserGroup)
-            .HasForeignKey(p => new { p.UserId, p.UserGroupId })
-            .IsRequired()
-            .OnDelete(DeleteBehavior.Cascade) //delete userWithUserGroup when the userGroup is deleted
-            ;
-
-        //extra config for n:n table
-        m.Entity<UserWithUserGroup>()
-            .HasOne(p => p.UserGroup)
-            .WithMany(p => p.UserWithUserGroups)
-            .HasForeignKey(p => p.UserGroupId)
-            .IsRequired()
-            .OnDelete(DeleteBehavior.Cascade) 
-            ;
-
-     * 
-     */
-
-
-    public class SyndromDbContext : DbContext
+    public class YapexDbContext : DbContext
     {
 
         /// <summary>
@@ -234,7 +205,7 @@ namespace ClientServer.Db
             typeof(AuthToken),
         };
 
-        public SyndromDbContext(DbContextOptions options) : base(options)
+        public YapexDbContext(DbContextOptions options) : base(options)
         {
         }
 
diff --git a/src/ClientServer/Migrations/20160824181544_init.Designer.cs b/src/ClientServer/Migrations/20160824181544_init.Designer.cs
index 3d57898457271644a73c46f71fbe26b16ce9ea80..5d41f3e541ab86635425602bbf0f67c00d4c55fe 100644
--- a/src/ClientServer/Migrations/20160824181544_init.Designer.cs
+++ b/src/ClientServer/Migrations/20160824181544_init.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160824181544_init")]
     partial class init
     {
diff --git a/src/ClientServer/Migrations/20160827045350_init2.Designer.cs b/src/ClientServer/Migrations/20160827045350_init2.Designer.cs
index f2f6a94b126a21329ee5cf23b6266cd13f13b4b5..510860bd0f932b2e040891395a497e60573d3084 100644
--- a/src/ClientServer/Migrations/20160827045350_init2.Designer.cs
+++ b/src/ClientServer/Migrations/20160827045350_init2.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160827045350_init2")]
     partial class init2
     {
diff --git a/src/ClientServer/Migrations/20160831154002_userSettingsTheme.Designer.cs b/src/ClientServer/Migrations/20160831154002_userSettingsTheme.Designer.cs
index 79edffd70a24ca083b7e694f07674108ed48804f..f736968c582d6aae015607d371add639ef9da10e 100644
--- a/src/ClientServer/Migrations/20160831154002_userSettingsTheme.Designer.cs
+++ b/src/ClientServer/Migrations/20160831154002_userSettingsTheme.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160831154002_userSettingsTheme")]
     partial class userSettingsTheme
     {
diff --git a/src/ClientServer/Migrations/20160903141707_init4.Designer.cs b/src/ClientServer/Migrations/20160903141707_init4.Designer.cs
index f194b09eefa51f48528603bdffd9531eb668a76c..c2eebf8b467f32d0f0d56926a7c6b87e8e42fb86 100644
--- a/src/ClientServer/Migrations/20160903141707_init4.Designer.cs
+++ b/src/ClientServer/Migrations/20160903141707_init4.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160903141707_init4")]
     partial class init4
     {
diff --git a/src/ClientServer/Migrations/20160906195429_init5.Designer.cs b/src/ClientServer/Migrations/20160906195429_init5.Designer.cs
index 3f5c7524783f92bc12b52a327bc56d04a602d3aa..780b52012245851559a4dd6b54af9ad92f8d1830 100644
--- a/src/ClientServer/Migrations/20160906195429_init5.Designer.cs
+++ b/src/ClientServer/Migrations/20160906195429_init5.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160906195429_init5")]
     partial class init5
     {
diff --git a/src/ClientServer/Migrations/20160921124646_final1.Designer.cs b/src/ClientServer/Migrations/20160921124646_final1.Designer.cs
index 176c21f1ddfc14332f520255dd243b0c546e4e23..77c1452f6b3d039357af8bc94df4768782dad437 100644
--- a/src/ClientServer/Migrations/20160921124646_final1.Designer.cs
+++ b/src/ClientServer/Migrations/20160921124646_final1.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160921124646_final1")]
     partial class final1
     {
diff --git a/src/ClientServer/Migrations/20160921130105_final2.Designer.cs b/src/ClientServer/Migrations/20160921130105_final2.Designer.cs
index e7933f13ec5ede15cb00d4cddb8f0ab515cff2db..014db0dc98e74e6c5b7593ec50f8e8fae7a1c80e 100644
--- a/src/ClientServer/Migrations/20160921130105_final2.Designer.cs
+++ b/src/ClientServer/Migrations/20160921130105_final2.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160921130105_final2")]
     partial class final2
     {
diff --git a/src/ClientServer/Migrations/20160921155214_final3.Designer.cs b/src/ClientServer/Migrations/20160921155214_final3.Designer.cs
index fefad22f662c27866e5e61bf6842c8e31ed09ef0..246c6dbdb372b84ec03770dacc0d2707261a9644 100644
--- a/src/ClientServer/Migrations/20160921155214_final3.Designer.cs
+++ b/src/ClientServer/Migrations/20160921155214_final3.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160921155214_final3")]
     partial class final3
     {
diff --git a/src/ClientServer/Migrations/20160923095756_final4.Designer.cs b/src/ClientServer/Migrations/20160923095756_final4.Designer.cs
index 21059b6ad7de085adaa8817be1fd7af9dd11183e..ffa5752a05a2f414acc6db5666d55819e7833470 100644
--- a/src/ClientServer/Migrations/20160923095756_final4.Designer.cs
+++ b/src/ClientServer/Migrations/20160923095756_final4.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20160923095756_final4")]
     partial class final4
     {
diff --git a/src/ClientServer/Migrations/20161001124636_tagPermission.Designer.cs b/src/ClientServer/Migrations/20161001124636_tagPermission.Designer.cs
index 1fbbb2321b876405df1c6de8ab967594a54110e4..6f478532e5d1e8c2d3c99033ecb1945dc5ec0d1a 100644
--- a/src/ClientServer/Migrations/20161001124636_tagPermission.Designer.cs
+++ b/src/ClientServer/Migrations/20161001124636_tagPermission.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20161001124636_tagPermission")]
     partial class tagPermission
     {
diff --git a/src/ClientServer/Migrations/20161001140957_tagDisplayName2.Designer.cs b/src/ClientServer/Migrations/20161001140957_tagDisplayName2.Designer.cs
index 65fdb533db6430ba27388ce08e686c959718a843..6bc42092c633614c5d7a7b42504422615fb74212 100644
--- a/src/ClientServer/Migrations/20161001140957_tagDisplayName2.Designer.cs
+++ b/src/ClientServer/Migrations/20161001140957_tagDisplayName2.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20161001140957_tagDisplayName2")]
     partial class tagDisplayName2
     {
diff --git a/src/ClientServer/Migrations/20161001142650_deleteTagCascade.Designer.cs b/src/ClientServer/Migrations/20161001142650_deleteTagCascade.Designer.cs
index 82daadff52dba778eee246c0c72acd332ceb5dbc..9f6ba7791ad283a90dccb1b735d282a5106a0a64 100644
--- a/src/ClientServer/Migrations/20161001142650_deleteTagCascade.Designer.cs
+++ b/src/ClientServer/Migrations/20161001142650_deleteTagCascade.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20161001142650_deleteTagCascade")]
     partial class deleteTagCascade
     {
diff --git a/src/ClientServer/Migrations/20161220124855_ExerciseAddedNote.Designer.cs b/src/ClientServer/Migrations/20161220124855_ExerciseAddedNote.Designer.cs
index bb5698fbf4c5eda7238c36e7ac322ec5e2e51f2c..c1562370fa54590346eb79cc604a47b7604c5ecd 100644
--- a/src/ClientServer/Migrations/20161220124855_ExerciseAddedNote.Designer.cs
+++ b/src/ClientServer/Migrations/20161220124855_ExerciseAddedNote.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20161220124855_ExerciseAddedNote")]
     partial class ExerciseAddedNote
     {
diff --git a/src/ClientServer/Migrations/20170112222129_authTokens.Designer.cs b/src/ClientServer/Migrations/20170112222129_authTokens.Designer.cs
index 2c0af9de5d8dec19d41b57d135c277dea7d43fce..231bf298fb058d1d428092ea905da47c6271cbe7 100644
--- a/src/ClientServer/Migrations/20170112222129_authTokens.Designer.cs
+++ b/src/ClientServer/Migrations/20170112222129_authTokens.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20170112222129_authTokens")]
     partial class authTokens
     {
diff --git a/src/ClientServer/Migrations/20170307190625_lang.Designer.cs b/src/ClientServer/Migrations/20170307190625_lang.Designer.cs
index 12ad49d0e5d345f532c3c67e20ef33c83d4b554c..5d11ad759fd4dcb1b3f474742490268095c18fa8 100644
--- a/src/ClientServer/Migrations/20170307190625_lang.Designer.cs
+++ b/src/ClientServer/Migrations/20170307190625_lang.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20170307190625_lang")]
     partial class lang
     {
diff --git a/src/ClientServer/Migrations/20171009190359_tagBackgroundColor.Designer.cs b/src/ClientServer/Migrations/20171009190359_tagBackgroundColor.Designer.cs
index 8291512ad01c9502bd6484503a969d99628b8359..653a853e42874998cda52cbe84e5c60b504e3265 100755
--- a/src/ClientServer/Migrations/20171009190359_tagBackgroundColor.Designer.cs
+++ b/src/ClientServer/Migrations/20171009190359_tagBackgroundColor.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171009190359_tagBackgroundColor")]
     partial class tagBackgroundColor
     {
diff --git a/src/ClientServer/Migrations/20171009191709_tagDescription.Designer.cs b/src/ClientServer/Migrations/20171009191709_tagDescription.Designer.cs
index 42b85b422444ab1f121fa0f13ccab99560d9c015..7be5ef637c8ff1ac7c6e0b427cc27b9b0724fa63 100755
--- a/src/ClientServer/Migrations/20171009191709_tagDescription.Designer.cs
+++ b/src/ClientServer/Migrations/20171009191709_tagDescription.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171009191709_tagDescription")]
     partial class tagDescription
     {
diff --git a/src/ClientServer/Migrations/20171012120923_tutorFreedback.Designer.cs b/src/ClientServer/Migrations/20171012120923_tutorFreedback.Designer.cs
index 6d7daed7fab57756dababfa05846ced44f029496..5a2a67911cc145ed982e583d50bdc4297012ae67 100644
--- a/src/ClientServer/Migrations/20171012120923_tutorFreedback.Designer.cs
+++ b/src/ClientServer/Migrations/20171012120923_tutorFreedback.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171012120923_tutorFreedback")]
     partial class tutorFreedback
     {
diff --git a/src/ClientServer/Migrations/20171015132006_enabledNullableAssessmentPoints.Designer.cs b/src/ClientServer/Migrations/20171015132006_enabledNullableAssessmentPoints.Designer.cs
index 980f11c8104d1442e8c60c00ada50b752a0a54f1..b735cabc6df160bcba97c2e56d4d2e04fb67b08e 100644
--- a/src/ClientServer/Migrations/20171015132006_enabledNullableAssessmentPoints.Designer.cs
+++ b/src/ClientServer/Migrations/20171015132006_enabledNullableAssessmentPoints.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171015132006_enabledNullableAssessmentPoints")]
     partial class enabledNullableAssessmentPoints
     {
diff --git a/src/ClientServer/Migrations/20171025160923_uniqueAuthToken.Designer.cs b/src/ClientServer/Migrations/20171025160923_uniqueAuthToken.Designer.cs
index 7dfd55fb3da3401c4c71215fd447784a2262259c..c7da8f51bf5bc9708b0dbe48cfc43f0db61d4566 100755
--- a/src/ClientServer/Migrations/20171025160923_uniqueAuthToken.Designer.cs
+++ b/src/ClientServer/Migrations/20171025160923_uniqueAuthToken.Designer.cs
@@ -7,7 +7,7 @@ using ClientServer.Db;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171025160923_uniqueAuthToken")]
     partial class uniqueAuthToken
     {
diff --git a/src/ClientServer/Migrations/20171106184650_participationShouldNotCount.Designer.cs b/src/ClientServer/Migrations/20171106184650_participationShouldNotCount.Designer.cs
index 803dddc39ba45db2c1be1bb5305863df4b5e8d22..86ecc3c5d79a8ead2221189d60c6fad91a9e2cc4 100755
--- a/src/ClientServer/Migrations/20171106184650_participationShouldNotCount.Designer.cs
+++ b/src/ClientServer/Migrations/20171106184650_participationShouldNotCount.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171106184650_participationShouldNotCount")]
     partial class participationShouldNotCount
     {
diff --git a/src/ClientServer/Migrations/20171109144627_customProjects.Designer.cs b/src/ClientServer/Migrations/20171109144627_customProjects.Designer.cs
index 2abe853182c3671bddb15e4cb5caab8fcb57930f..8d11c6d5f790ec29a0b91c6e2e3117e7e0b82a40 100755
--- a/src/ClientServer/Migrations/20171109144627_customProjects.Designer.cs
+++ b/src/ClientServer/Migrations/20171109144627_customProjects.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171109144627_customProjects")]
     partial class customProjects
     {
diff --git a/src/ClientServer/Migrations/20171110153042_customProjectTestsWeights.Designer.cs b/src/ClientServer/Migrations/20171110153042_customProjectTestsWeights.Designer.cs
index d220225c86a10f30719dbeb76af276a26e94b922..2123e897aa535372cd26bf8698990a74380b8a82 100755
--- a/src/ClientServer/Migrations/20171110153042_customProjectTestsWeights.Designer.cs
+++ b/src/ClientServer/Migrations/20171110153042_customProjectTestsWeights.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171110153042_customProjectTestsWeights")]
     partial class customProjectTestsWeights
     {
diff --git a/src/ClientServer/Migrations/20171229135558_dashboardSystemRolePermission.Designer.cs b/src/ClientServer/Migrations/20171229135558_dashboardSystemRolePermission.Designer.cs
index ce38be3e82cf6e8e145e5584d9a649f3568dffa1..6a2a60bd39b78514c30f453df14ea09cf1c72889 100755
--- a/src/ClientServer/Migrations/20171229135558_dashboardSystemRolePermission.Designer.cs
+++ b/src/ClientServer/Migrations/20171229135558_dashboardSystemRolePermission.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20171229135558_dashboardSystemRolePermission")]
     partial class dashboardSystemRolePermission
     {
diff --git a/src/ClientServer/Migrations/20180214130057_ReleaseEExamOptions.Designer.cs b/src/ClientServer/Migrations/20180214130057_ReleaseEExamOptions.Designer.cs
index f57c437430c8219fdb91cbaea5a240d905669251..4e5dcc8c74cb1fc8cda258ca522854722551b557 100755
--- a/src/ClientServer/Migrations/20180214130057_ReleaseEExamOptions.Designer.cs
+++ b/src/ClientServer/Migrations/20180214130057_ReleaseEExamOptions.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180214130057_ReleaseEExamOptions")]
     partial class ReleaseEExamOptions
     {
diff --git a/src/ClientServer/Migrations/20180215112957_ReleaseHideSiteHeaderBar.Designer.cs b/src/ClientServer/Migrations/20180215112957_ReleaseHideSiteHeaderBar.Designer.cs
index 162a77db3defbd96405e07a5cfce2aa3ee18d457..270ddcd9649fbd636d188351d89b59fddc7d2fe2 100755
--- a/src/ClientServer/Migrations/20180215112957_ReleaseHideSiteHeaderBar.Designer.cs
+++ b/src/ClientServer/Migrations/20180215112957_ReleaseHideSiteHeaderBar.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180215112957_ReleaseHideSiteHeaderBar")]
     partial class ReleaseHideSiteHeaderBar
     {
diff --git a/src/ClientServer/Migrations/20180912160339_removeSolutionVersion1.Designer.cs b/src/ClientServer/Migrations/20180912160339_removeSolutionVersion1.Designer.cs
index 873ef679fc9d4c1fc199a68d1b372fd751665316..92d3d409a9201e64c5b9f3f766c735c022e56f85 100755
--- a/src/ClientServer/Migrations/20180912160339_removeSolutionVersion1.Designer.cs
+++ b/src/ClientServer/Migrations/20180912160339_removeSolutionVersion1.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180912160339_removeSolutionVersion1")]
     partial class removeSolutionVersion1
     {
diff --git a/src/ClientServer/Migrations/20180912171554_removeSolutionVersion2.Designer.cs b/src/ClientServer/Migrations/20180912171554_removeSolutionVersion2.Designer.cs
index fecd08633bfe63eaa13ce0a48bfcad279a402ef5..bcd52bea73390cb856e08960603b201fd21bf2b4 100755
--- a/src/ClientServer/Migrations/20180912171554_removeSolutionVersion2.Designer.cs
+++ b/src/ClientServer/Migrations/20180912171554_removeSolutionVersion2.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180912171554_removeSolutionVersion2")]
     partial class removeSolutionVersion2
     {
diff --git a/src/ClientServer/Migrations/20180912182512_removeSolutionVersion3.Designer.cs b/src/ClientServer/Migrations/20180912182512_removeSolutionVersion3.Designer.cs
index 200d0c6c0bed35413159cd8f2ba2ee65b9ac2afe..17ca2ddedf9f196e5cb2f8aa9905223b7181c1c6 100755
--- a/src/ClientServer/Migrations/20180912182512_removeSolutionVersion3.Designer.cs
+++ b/src/ClientServer/Migrations/20180912182512_removeSolutionVersion3.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180912182512_removeSolutionVersion3")]
     partial class removeSolutionVersion3
     {
diff --git a/src/ClientServer/Migrations/20180913125543_removeSolutionVersion4.Designer.cs b/src/ClientServer/Migrations/20180913125543_removeSolutionVersion4.Designer.cs
index 05313aaf9928b4260e63101e66dd4329594eb0b0..2d1b9cece3050d8069f0c2ecb96d18756b571eb3 100755
--- a/src/ClientServer/Migrations/20180913125543_removeSolutionVersion4.Designer.cs
+++ b/src/ClientServer/Migrations/20180913125543_removeSolutionVersion4.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180913125543_removeSolutionVersion4")]
     partial class removeSolutionVersion4
     {
diff --git a/src/ClientServer/Migrations/20180921120340_groupRolePermissionAndUpdatedAt.Designer.cs b/src/ClientServer/Migrations/20180921120340_groupRolePermissionAndUpdatedAt.Designer.cs
index 242274ea016a0cf617d6c6432eb5df6d4060f527..2c6f20944f6a3e8376e29a0b1d424d2032a2ca25 100755
--- a/src/ClientServer/Migrations/20180921120340_groupRolePermissionAndUpdatedAt.Designer.cs
+++ b/src/ClientServer/Migrations/20180921120340_groupRolePermissionAndUpdatedAt.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180921120340_groupRolePermissionAndUpdatedAt")]
     partial class groupRolePermissionAndUpdatedAt
     {
diff --git a/src/ClientServer/Migrations/20180929145343_addedAfterSolution.Designer.cs b/src/ClientServer/Migrations/20180929145343_addedAfterSolution.Designer.cs
index 6e4d185880797b7159644cbdef034ffa42993177..3fcbd678873e1f0b12a87b42ea0fa229048a6a14 100755
--- a/src/ClientServer/Migrations/20180929145343_addedAfterSolution.Designer.cs
+++ b/src/ClientServer/Migrations/20180929145343_addedAfterSolution.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20180929145343_addedAfterSolution")]
     partial class addedAfterSolution
     {
diff --git a/src/ClientServer/Migrations/20181001151109_maxCustomTests.Designer.cs b/src/ClientServer/Migrations/20181001151109_maxCustomTests.Designer.cs
index b3f779daadb3e0db729f9e7924f8c315bebd06cd..5ca63edb4f9755ae3d21fff5feb0666c048837f6 100755
--- a/src/ClientServer/Migrations/20181001151109_maxCustomTests.Designer.cs
+++ b/src/ClientServer/Migrations/20181001151109_maxCustomTests.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181001151109_maxCustomTests")]
     partial class maxCustomTests
     {
diff --git a/src/ClientServer/Migrations/20181004180755_csrfToken.Designer.cs b/src/ClientServer/Migrations/20181004180755_csrfToken.Designer.cs
index 65871a1bf2614a7e8dc6db89b26e8c0719755134..4328f7b958691af483ff349d7702677a95a6e65f 100755
--- a/src/ClientServer/Migrations/20181004180755_csrfToken.Designer.cs
+++ b/src/ClientServer/Migrations/20181004180755_csrfToken.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181004180755_csrfToken")]
     partial class csrfToken
     {
diff --git a/src/ClientServer/Migrations/20181008183904_UserSettingsAllowRemoveLang.Designer.cs b/src/ClientServer/Migrations/20181008183904_UserSettingsAllowRemoveLang.Designer.cs
index 029f0e1ab56b4c5cf53d69731485b04ebf651496..99411d81300be536b1f0da45739fafbbe303ac98 100755
--- a/src/ClientServer/Migrations/20181008183904_UserSettingsAllowRemoveLang.Designer.cs
+++ b/src/ClientServer/Migrations/20181008183904_UserSettingsAllowRemoveLang.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181008183904_UserSettingsAllowRemoveLang")]
     partial class UserSettingsAllowRemoveLang
     {
diff --git a/src/ClientServer/Migrations/20181011102314_removedSystemPermissionCanEditGroup.Designer.cs b/src/ClientServer/Migrations/20181011102314_removedSystemPermissionCanEditGroup.Designer.cs
index edf8ac4b2a7a2df2b8b4ed01eb887ba5bc0dec3d..0ab752370f19267360fe2c67c01bf0df7a7251ab 100755
--- a/src/ClientServer/Migrations/20181011102314_removedSystemPermissionCanEditGroup.Designer.cs
+++ b/src/ClientServer/Migrations/20181011102314_removedSystemPermissionCanEditGroup.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181011102314_removedSystemPermissionCanEditGroup")]
     partial class removedSystemPermissionCanEditGroup
     {
diff --git a/src/ClientServer/Migrations/20181012124603_SetStringMaxLengths.Designer.cs b/src/ClientServer/Migrations/20181012124603_SetStringMaxLengths.Designer.cs
index 27a3e2dff4ea36bdbebaa485afe725590803aa41..3539a26a1cdd176c5dc092cd11983547fd020b31 100755
--- a/src/ClientServer/Migrations/20181012124603_SetStringMaxLengths.Designer.cs
+++ b/src/ClientServer/Migrations/20181012124603_SetStringMaxLengths.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181012124603_SetStringMaxLengths")]
     partial class SetStringMaxLengths
     {
diff --git a/src/ClientServer/Migrations/20181026193143_ServerMessage.Designer.cs b/src/ClientServer/Migrations/20181026193143_ServerMessage.Designer.cs
index 664af0791ed0c3398c493a61242dcb08d73187c6..a7bc0a9faae7f1a89c364b1fd284b721370a42cd 100755
--- a/src/ClientServer/Migrations/20181026193143_ServerMessage.Designer.cs
+++ b/src/ClientServer/Migrations/20181026193143_ServerMessage.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181026193143_ServerMessage")]
     partial class ServerMessage
     {
diff --git a/src/ClientServer/Migrations/20181027121021_ParticipationLockSolutionsFlag.Designer.cs b/src/ClientServer/Migrations/20181027121021_ParticipationLockSolutionsFlag.Designer.cs
index e0c79b424d7c5e3cd34758658ce9521bd5fd0b7d..f8b75779ff0bcf8acde2ac556a59905dd212f2c9 100755
--- a/src/ClientServer/Migrations/20181027121021_ParticipationLockSolutionsFlag.Designer.cs
+++ b/src/ClientServer/Migrations/20181027121021_ParticipationLockSolutionsFlag.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181027121021_ParticipationLockSolutionsFlag")]
     partial class ParticipationLockSolutionsFlag
     {
diff --git a/src/ClientServer/Migrations/20181027122426_ParticipationLockSolutionsFlag2.Designer.cs b/src/ClientServer/Migrations/20181027122426_ParticipationLockSolutionsFlag2.Designer.cs
index 0ddbbcb3f1c8a2ad0fcb9104f05f213cdd5987db..9b118584e91ce42d955c6160f62c2ee83930d5a9 100755
--- a/src/ClientServer/Migrations/20181027122426_ParticipationLockSolutionsFlag2.Designer.cs
+++ b/src/ClientServer/Migrations/20181027122426_ParticipationLockSolutionsFlag2.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181027122426_ParticipationLockSolutionsFlag2")]
     partial class ParticipationLockSolutionsFlag2
     {
diff --git a/src/ClientServer/Migrations/20181123151602_StoreAssessmentErrors.Designer.cs b/src/ClientServer/Migrations/20181123151602_StoreAssessmentErrors.Designer.cs
index 8ea0907241247585ddd012d748b1c0d7f72ff22f..120d92db1ada24159f0b6ae7586e917fb76ecd8f 100755
--- a/src/ClientServer/Migrations/20181123151602_StoreAssessmentErrors.Designer.cs
+++ b/src/ClientServer/Migrations/20181123151602_StoreAssessmentErrors.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20181123151602_StoreAssessmentErrors")]
     partial class StoreAssessmentErrors
     {
diff --git a/src/ClientServer/Migrations/20190202125311_MoreExamOptions.Designer.cs b/src/ClientServer/Migrations/20190202125311_MoreExamOptions.Designer.cs
index 0c6e12cea7ee7372c19ba5c9aea2212d249bcaf7..02fce0ae6d4d92fe0fe289c6c0fd706b4bbaa9de 100755
--- a/src/ClientServer/Migrations/20190202125311_MoreExamOptions.Designer.cs
+++ b/src/ClientServer/Migrations/20190202125311_MoreExamOptions.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190202125311_MoreExamOptions")]
     partial class MoreExamOptions
     {
diff --git a/src/ClientServer/Migrations/20190213174200_NewSystemSettings.Designer.cs b/src/ClientServer/Migrations/20190213174200_NewSystemSettings.Designer.cs
index 43b1218bb48b41664da0679fb9c82c8731d4a1b6..0d7baf3eca971d147c3afe387ee605ce12cd460b 100755
--- a/src/ClientServer/Migrations/20190213174200_NewSystemSettings.Designer.cs
+++ b/src/ClientServer/Migrations/20190213174200_NewSystemSettings.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190213174200_NewSystemSettings")]
     partial class NewSystemSettings
     {
diff --git a/src/ClientServer/Migrations/20190214140941_PLangHighlighting.Designer.cs b/src/ClientServer/Migrations/20190214140941_PLangHighlighting.Designer.cs
index aff74804663a6b4edb77d5ca4d3b944628f75452..b429996f159a77bade737e92c330bdb3a4fdff03 100755
--- a/src/ClientServer/Migrations/20190214140941_PLangHighlighting.Designer.cs
+++ b/src/ClientServer/Migrations/20190214140941_PLangHighlighting.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190214140941_PLangHighlighting")]
     partial class PLangHighlighting
     {
diff --git a/src/ClientServer/Migrations/20190214151239_PLangFileExtensions.Designer.cs b/src/ClientServer/Migrations/20190214151239_PLangFileExtensions.Designer.cs
index e425bb0d691eb6638e1f8d663f29d3129c8c1d16..16e2efe4168c949b831fd962aab9e84abc62ff75 100755
--- a/src/ClientServer/Migrations/20190214151239_PLangFileExtensions.Designer.cs
+++ b/src/ClientServer/Migrations/20190214151239_PLangFileExtensions.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190214151239_PLangFileExtensions")]
     partial class PLangFileExtensions
     {
diff --git a/src/ClientServer/Migrations/20190214202737_RemovedUnusedPlangMarkdownMode.Designer.cs b/src/ClientServer/Migrations/20190214202737_RemovedUnusedPlangMarkdownMode.Designer.cs
index ac0b6ba76d15c9121d6193b5eabd3f5d37e0cadd..4b20cd77932849279a5964a4dd2ed8474584e3ef 100755
--- a/src/ClientServer/Migrations/20190214202737_RemovedUnusedPlangMarkdownMode.Designer.cs
+++ b/src/ClientServer/Migrations/20190214202737_RemovedUnusedPlangMarkdownMode.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190214202737_RemovedUnusedPlangMarkdownMode")]
     partial class RemovedUnusedPlangMarkdownMode
     {
diff --git a/src/ClientServer/Migrations/20190320182329_TestAssetHashes.Designer.cs b/src/ClientServer/Migrations/20190320182329_TestAssetHashes.Designer.cs
index 674a3efc3907d7358d00f9cab694489cbb3898fe..7b37ac90980d5078da9276bb8bf1c012667ff4ed 100755
--- a/src/ClientServer/Migrations/20190320182329_TestAssetHashes.Designer.cs
+++ b/src/ClientServer/Migrations/20190320182329_TestAssetHashes.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190320182329_TestAssetHashes")]
     partial class TestAssetHashes
     {
diff --git a/src/ClientServer/Migrations/20190329152856_LastEditingIpSolution.Designer.cs b/src/ClientServer/Migrations/20190329152856_LastEditingIpSolution.Designer.cs
index b65aa5971ae499cd299e59d1bc35894452bf7e31..b53f12d47de050a60aeb6efd33807db26ed3be3a 100755
--- a/src/ClientServer/Migrations/20190329152856_LastEditingIpSolution.Designer.cs
+++ b/src/ClientServer/Migrations/20190329152856_LastEditingIpSolution.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190329152856_LastEditingIpSolution")]
     partial class LastEditingIpSolution
     {
diff --git a/src/ClientServer/Migrations/20190409160808_SystemSettingsTestServerUiUrl.Designer.cs b/src/ClientServer/Migrations/20190409160808_SystemSettingsTestServerUiUrl.Designer.cs
index 1eb426502ad0720084ba8c9ef03cada899907265..5f593603e065f6fce62a3fa48c99ed2976ecaf57 100755
--- a/src/ClientServer/Migrations/20190409160808_SystemSettingsTestServerUiUrl.Designer.cs
+++ b/src/ClientServer/Migrations/20190409160808_SystemSettingsTestServerUiUrl.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190409160808_SystemSettingsTestServerUiUrl")]
     partial class SystemSettingsTestServerUiUrl
     {
diff --git a/src/ClientServer/Migrations/20190410160446_SomeDeleteActionsChanged1.Designer.cs b/src/ClientServer/Migrations/20190410160446_SomeDeleteActionsChanged1.Designer.cs
index 48f464d25e66d6e7733275a15e85152d941ae8ce..fc2af7262625f8290c40bceebcbfc943a56b5e92 100755
--- a/src/ClientServer/Migrations/20190410160446_SomeDeleteActionsChanged1.Designer.cs
+++ b/src/ClientServer/Migrations/20190410160446_SomeDeleteActionsChanged1.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190410160446_SomeDeleteActionsChanged1")]
     partial class SomeDeleteActionsChanged1
     {
diff --git a/src/ClientServer/Migrations/20190419112922_JustRunTimeout.Designer.cs b/src/ClientServer/Migrations/20190419112922_JustRunTimeout.Designer.cs
index c7f337531df9906a7e7a8fee1ef7b0802ae5bf97..3775fe8fc634057b59a3f117e24abc7feb561760 100755
--- a/src/ClientServer/Migrations/20190419112922_JustRunTimeout.Designer.cs
+++ b/src/ClientServer/Migrations/20190419112922_JustRunTimeout.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190419112922_JustRunTimeout")]
     partial class JustRunTimeout
     {
diff --git a/src/ClientServer/Migrations/20190419153412_OtherJustRunTestLimits.Designer.cs b/src/ClientServer/Migrations/20190419153412_OtherJustRunTestLimits.Designer.cs
index c87831151a7df223932e2e927648abd5323aba09..1cf2da810d4690f7cdbb207544a14d97dddaef11 100755
--- a/src/ClientServer/Migrations/20190419153412_OtherJustRunTestLimits.Designer.cs
+++ b/src/ClientServer/Migrations/20190419153412_OtherJustRunTestLimits.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190419153412_OtherJustRunTestLimits")]
     partial class OtherJustRunTestLimits
     {
diff --git a/src/ClientServer/Migrations/20190420100505_CustomProjectTestLimits.Designer.cs b/src/ClientServer/Migrations/20190420100505_CustomProjectTestLimits.Designer.cs
index f5fda2970ef98df1ea9294aa23a01a403777d8d2..3da6ddbb8014ca3d3da7981e62d2fa609716f307 100755
--- a/src/ClientServer/Migrations/20190420100505_CustomProjectTestLimits.Designer.cs
+++ b/src/ClientServer/Migrations/20190420100505_CustomProjectTestLimits.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190420100505_CustomProjectTestLimits")]
     partial class CustomProjectTestLimits
     {
diff --git a/src/ClientServer/Migrations/20190420164845_TestRunningTimes.Designer.cs b/src/ClientServer/Migrations/20190420164845_TestRunningTimes.Designer.cs
index a420a1a3f1ac01802229a3256df0b5280ec8f440..998a583019fafdcbe68b78d00e22bdea7dd4cc57 100755
--- a/src/ClientServer/Migrations/20190420164845_TestRunningTimes.Designer.cs
+++ b/src/ClientServer/Migrations/20190420164845_TestRunningTimes.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190420164845_TestRunningTimes")]
     partial class TestRunningTimes
     {
diff --git a/src/ClientServer/Migrations/20190428191918_MoreTestLimitsAndCompilerTimeout.Designer.cs b/src/ClientServer/Migrations/20190428191918_MoreTestLimitsAndCompilerTimeout.Designer.cs
index 715956dc9088b5a05ca53cdd0f321e193459a8f1..a38ef7f93ad59f0c40cc4c9425ee0d850a4766f1 100755
--- a/src/ClientServer/Migrations/20190428191918_MoreTestLimitsAndCompilerTimeout.Designer.cs
+++ b/src/ClientServer/Migrations/20190428191918_MoreTestLimitsAndCompilerTimeout.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190428191918_MoreTestLimitsAndCompilerTimeout")]
     partial class MoreTestLimitsAndCompilerTimeout
     {
diff --git a/src/ClientServer/Migrations/20190430202149_MaxManualPoints.Designer.cs b/src/ClientServer/Migrations/20190430202149_MaxManualPoints.Designer.cs
index 078db949efb74babba2b6a6b0a92cdf4444e72a6..d45019e98960e8a7c9136deebe584b5acc0cf25c 100755
--- a/src/ClientServer/Migrations/20190430202149_MaxManualPoints.Designer.cs
+++ b/src/ClientServer/Migrations/20190430202149_MaxManualPoints.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190430202149_MaxManualPoints")]
     partial class MaxManualPoints
     {
diff --git a/src/ClientServer/Migrations/20190501142551_HiddenTemplateFiles.Designer.cs b/src/ClientServer/Migrations/20190501142551_HiddenTemplateFiles.Designer.cs
index e396536c8b01903f08dbd02a6bb895497e2398ae..71248dee37645e24881d4532c2f5110f163d4e7d 100755
--- a/src/ClientServer/Migrations/20190501142551_HiddenTemplateFiles.Designer.cs
+++ b/src/ClientServer/Migrations/20190501142551_HiddenTemplateFiles.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190501142551_HiddenTemplateFiles")]
     partial class HiddenTemplateFiles
     {
diff --git a/src/ClientServer/Migrations/20190501143221_RenameTemplateVisibility.Designer.cs b/src/ClientServer/Migrations/20190501143221_RenameTemplateVisibility.Designer.cs
index a3974f5685756d46fc96fbbe29d0162396131e26..05379f42368bfc859d56c260bdf61ef715e9b9e7 100755
--- a/src/ClientServer/Migrations/20190501143221_RenameTemplateVisibility.Designer.cs
+++ b/src/ClientServer/Migrations/20190501143221_RenameTemplateVisibility.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190501143221_RenameTemplateVisibility")]
     partial class RenameTemplateVisibility
     {
diff --git a/src/ClientServer/Migrations/20190503160702_ReleasePLangRequiredNow.Designer.cs b/src/ClientServer/Migrations/20190503160702_ReleasePLangRequiredNow.Designer.cs
index 551ac5d89374ac048fbfba64d22e3ea372a4be7d..29933cebec966703863a59957064bcacf92b54ab 100755
--- a/src/ClientServer/Migrations/20190503160702_ReleasePLangRequiredNow.Designer.cs
+++ b/src/ClientServer/Migrations/20190503160702_ReleasePLangRequiredNow.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190503160702_ReleasePLangRequiredNow")]
     partial class ReleasePLangRequiredNow
     {
diff --git a/src/ClientServer/Migrations/20190505105057_ExerciseExamLock.Designer.cs b/src/ClientServer/Migrations/20190505105057_ExerciseExamLock.Designer.cs
index c6d1dcd909123572318b08880d89178abc5f3a44..934dbc3493b43fcc06f35e6b1ae7e2077e2181f3 100755
--- a/src/ClientServer/Migrations/20190505105057_ExerciseExamLock.Designer.cs
+++ b/src/ClientServer/Migrations/20190505105057_ExerciseExamLock.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190505105057_ExerciseExamLock")]
     partial class ExerciseExamLock
     {
diff --git a/src/ClientServer/Migrations/20190505122337_ExerciseLockedGroupRolePermission.Designer.cs b/src/ClientServer/Migrations/20190505122337_ExerciseLockedGroupRolePermission.Designer.cs
index d98e406c1bccfab2503d80e3b9a69e58026a44b4..33f06c2b8ae9a87b952d372df31092b6053f3ded 100755
--- a/src/ClientServer/Migrations/20190505122337_ExerciseLockedGroupRolePermission.Designer.cs
+++ b/src/ClientServer/Migrations/20190505122337_ExerciseLockedGroupRolePermission.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190505122337_ExerciseLockedGroupRolePermission")]
     partial class ExerciseLockedGroupRolePermission
     {
diff --git a/src/ClientServer/Migrations/20190508134143_RemoveCopyPermission.Designer.cs b/src/ClientServer/Migrations/20190508134143_RemoveCopyPermission.Designer.cs
index c5163acf1b09966029eb1da46b99fab205adccb1..84e51de5ba2af722bec5f248ddf44b6eefe44a6b 100755
--- a/src/ClientServer/Migrations/20190508134143_RemoveCopyPermission.Designer.cs
+++ b/src/ClientServer/Migrations/20190508134143_RemoveCopyPermission.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190508134143_RemoveCopyPermission")]
     partial class RemoveCopyPermission
     {
diff --git a/src/ClientServer/Migrations/20190530135332_ExerciseMarkdownFiles.Designer.cs b/src/ClientServer/Migrations/20190530135332_ExerciseMarkdownFiles.Designer.cs
index 031a98777417a40f3172cac5734613c24ed452da..44228ed66d2387eba000f08c673b95b9e1c9469a 100755
--- a/src/ClientServer/Migrations/20190530135332_ExerciseMarkdownFiles.Designer.cs
+++ b/src/ClientServer/Migrations/20190530135332_ExerciseMarkdownFiles.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190530135332_ExerciseMarkdownFiles")]
     partial class ExerciseMarkdownFiles
     {
diff --git a/src/ClientServer/Migrations/20190601145551_ExerciseTestAssetFiles.Designer.cs b/src/ClientServer/Migrations/20190601145551_ExerciseTestAssetFiles.Designer.cs
index 30f894fa2ab0975cad839837d654b915fd960306..4996cf09839358e7e237118cef4a4b3c91d73d46 100755
--- a/src/ClientServer/Migrations/20190601145551_ExerciseTestAssetFiles.Designer.cs
+++ b/src/ClientServer/Migrations/20190601145551_ExerciseTestAssetFiles.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190601145551_ExerciseTestAssetFiles")]
     partial class ExerciseTestAssetFiles
     {
diff --git a/src/ClientServer/Migrations/20190602180648_CustomUserFiles.Designer.cs b/src/ClientServer/Migrations/20190602180648_CustomUserFiles.Designer.cs
index 611c6a7acd7c47500fac4ea5815716765eab378e..33ce473ac9330e6bd279c19d5704f01711850a08 100755
--- a/src/ClientServer/Migrations/20190602180648_CustomUserFiles.Designer.cs
+++ b/src/ClientServer/Migrations/20190602180648_CustomUserFiles.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190602180648_CustomUserFiles")]
     partial class CustomUserFiles
     {
diff --git a/src/ClientServer/Migrations/20190606164356_RemoveAssetPathsAddedCompilerOptions.Designer.cs b/src/ClientServer/Migrations/20190606164356_RemoveAssetPathsAddedCompilerOptions.Designer.cs
index 4ce072284ee96887df857e349047e7663498ab30..61149c8c6c97e8474c3cb42b46cf39d29b77ebca 100755
--- a/src/ClientServer/Migrations/20190606164356_RemoveAssetPathsAddedCompilerOptions.Designer.cs
+++ b/src/ClientServer/Migrations/20190606164356_RemoveAssetPathsAddedCompilerOptions.Designer.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     [Migration("20190606164356_RemoveAssetPathsAddedCompilerOptions")]
     partial class RemoveAssetPathsAddedCompilerOptions
     {
diff --git a/src/ClientServer/Migrations/SyndromDbContextModelSnapshot.cs b/src/ClientServer/Migrations/SyndromDbContextModelSnapshot.cs
index d2e05915d526814733728d0a8e63c7c1748c341d..989fc8c1b68f6df468f9e2a7697d34aa18912f4b 100644
--- a/src/ClientServer/Migrations/SyndromDbContextModelSnapshot.cs
+++ b/src/ClientServer/Migrations/SyndromDbContextModelSnapshot.cs
@@ -8,7 +8,7 @@ using ClientServer.Models.Exercises.Release;
 
 namespace ClientServer.Migrations
 {
-    [DbContext(typeof(SyndromDbContext))]
+    [DbContext(typeof(YapexDbContext))]
     partial class SyndromDbContextModelSnapshot : ModelSnapshot
     {
         protected override void BuildModel(ModelBuilder modelBuilder)
@@ -1424,7 +1424,7 @@ namespace ClientServer.Migrations
 
                     b.Property<bool>("CanLockExercisesPermanently");
 
-                    b.Property<bool>("CanReleaseExercises");
+                    b.Property<bool>("CanManageExerciseReleases");
 
                     b.Property<bool>("CanRemoveMemberFromGroup");
 
diff --git a/src/ClientServer/Models/CustomProjects/CustomProject.cs b/src/ClientServer/Models/CustomProjects/CustomProject.cs
index bbe6ff19809f52a1c027cd66c3d56cc8d8d9c202..58feb83c8a7b48d4f4c89f719b7ed1429b2481aa 100644
--- a/src/ClientServer/Models/CustomProjects/CustomProject.cs
+++ b/src/ClientServer/Models/CustomProjects/CustomProject.cs
@@ -32,7 +32,7 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/CustomProjects/CustomProjectDescription.cs b/src/ClientServer/Models/CustomProjects/CustomProjectDescription.cs
index e1a3a2002ab33a7de68679d5ee9d339bdda246f8..327634b05ff750047d30f5ad4ef897148cf21f79 100644
--- a/src/ClientServer/Models/CustomProjects/CustomProjectDescription.cs
+++ b/src/ClientServer/Models/CustomProjects/CustomProjectDescription.cs
@@ -21,7 +21,7 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the content
         /// </summary>
-        [MaxLength(SyndromDbContext.DescriptionContentMaxStringLength)]
+        [MaxLength(YapexDbContext.DescriptionContentMaxStringLength)]
         public string Content { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/CustomProjects/CustomProjectSolutionFile.cs b/src/ClientServer/Models/CustomProjects/CustomProjectSolutionFile.cs
index ef4574ea2bbafb74b9f72cf97f78bd2db99d8607..4d2b9eb939055949133e73d20dfcade1d3068ed0 100644
--- a/src/ClientServer/Models/CustomProjects/CustomProjectSolutionFile.cs
+++ b/src/ClientServer/Models/CustomProjects/CustomProjectSolutionFile.cs
@@ -11,13 +11,13 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the file name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FileNameWithExtension { get; set; }
         
         /// <summary>
         /// the content of the file
         /// </summary>
-        [MaxLength(SyndromDbContext.FileContentMaxStringLength)]
+        [MaxLength(YapexDbContext.FileContentMaxStringLength)]
         public string Content { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/CustomProjects/CustomProjectTest.cs b/src/ClientServer/Models/CustomProjects/CustomProjectTest.cs
index 8f6bdfb26d6d7f301ada241dab587c0354bb814b..4393cae9662ec1259f3357ad2bc205d2d76974ae 100644
--- a/src/ClientServer/Models/CustomProjects/CustomProjectTest.cs
+++ b/src/ClientServer/Models/CustomProjects/CustomProjectTest.cs
@@ -21,12 +21,12 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// the content for the ... see the black-box-test protocol
         /// </summary>
-        [MaxLength(SyndromDbContext.TestContentMaxStringLength)]
+        [MaxLength(YapexDbContext.TestContentMaxStringLength)]
         public string Content { get; set; }
         
         /// <summary>
diff --git a/src/ClientServer/Models/CustomProjects/CustomProjectTestAsset.cs b/src/ClientServer/Models/CustomProjects/CustomProjectTestAsset.cs
index 958c2610304601047f4fc82d4367c065ba89263b..fb07fc45bde98188cc4be5be5fadc1ccfdbb6356 100644
--- a/src/ClientServer/Models/CustomProjects/CustomProjectTestAsset.cs
+++ b/src/ClientServer/Models/CustomProjects/CustomProjectTestAsset.cs
@@ -13,7 +13,7 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the name of the file/asset
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// the content of the asset (binary)
@@ -22,14 +22,14 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
         
         /// <summary>
         /// the hash of the content
         /// can be null if not calculated but should not be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Hash { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/CustomProjects/CustomProjectTestWithSolutionAsTestResult.cs b/src/ClientServer/Models/CustomProjects/CustomProjectTestWithSolutionAsTestResult.cs
index 5f62cd04641ae4f427088a0adc21cb9aa6734779..9454b841fe9d96539d2645db848bb1fcb60c3276 100644
--- a/src/ClientServer/Models/CustomProjects/CustomProjectTestWithSolutionAsTestResult.cs
+++ b/src/ClientServer/Models/CustomProjects/CustomProjectTestWithSolutionAsTestResult.cs
@@ -38,14 +38,14 @@ namespace ClientServer.Models.CustomProjects
         /// <summary>
         /// the conversation protocol between the user program and the test runner
         /// </summary>
-        [MaxLength(SyndromDbContext.TestProtocolMaxStringLength)]
+        [MaxLength(YapexDbContext.TestProtocolMaxStringLength)]
         public string Protocol { get; set; }
         
         /// <summary>
         /// the test runner version
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string RunnerVersion { get; set; }
 
         /// <summary>
@@ -76,7 +76,7 @@ namespace ClientServer.Models.CustomProjects
         /// the test server version
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerVersion { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/AfterSolutions/AfterSolutionFile.cs b/src/ClientServer/Models/Exercises/AfterSolutions/AfterSolutionFile.cs
index 9effd097187e0fc6724eabf0e056709c86a50dde..d41b093dba8ac30fff5a67503a405fda9491fa77 100644
--- a/src/ClientServer/Models/Exercises/AfterSolutions/AfterSolutionFile.cs
+++ b/src/ClientServer/Models/Exercises/AfterSolutions/AfterSolutionFile.cs
@@ -11,12 +11,12 @@ namespace ClientServer.Models.Exercises.AfterSolutions
         /// <summary>
         /// the file nname
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FileNameWithExtension { get; set; }
         /// <summary>
         /// the content of the file
         /// </summary>
-        [MaxLength(SyndromDbContext.FileContentMaxStringLength)]
+        [MaxLength(YapexDbContext.FileContentMaxStringLength)]
         public string Content { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Exercises/AfterSolutions/CustomTestWithAfterSolutionAsTestResult.cs b/src/ClientServer/Models/Exercises/AfterSolutions/CustomTestWithAfterSolutionAsTestResult.cs
index 0124779c180954fcc224a1e0e82dc3a408edebf3..099890c0d1ac636e0b18b4bc0d190bde44e8bf27 100644
--- a/src/ClientServer/Models/Exercises/AfterSolutions/CustomTestWithAfterSolutionAsTestResult.cs
+++ b/src/ClientServer/Models/Exercises/AfterSolutions/CustomTestWithAfterSolutionAsTestResult.cs
@@ -45,13 +45,13 @@ namespace ClientServer.Models.Exercises.AfterSolutions
         /// <summary>
         /// the conversation protocol between the user program and the test runner
         /// </summary>
-        [MaxLength(SyndromDbContext.TestProtocolMaxStringLength)]
+        [MaxLength(YapexDbContext.TestProtocolMaxStringLength)]
         public string Protocol { get; set; }
         
         /// <summary>
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string RunnerVersion { get; set; }
 
         /// <summary>
@@ -82,7 +82,7 @@ namespace ClientServer.Models.Exercises.AfterSolutions
         /// the test server version
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerVersion { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/AfterSolutions/TestWithAfterSolutionAsTestResult.cs b/src/ClientServer/Models/Exercises/AfterSolutions/TestWithAfterSolutionAsTestResult.cs
index 378eb5d1269d05bc460bb658c7f4792cbd037c44..cbf5dfbb6522f1be4ba0201ac692ee9c02ec21d3 100644
--- a/src/ClientServer/Models/Exercises/AfterSolutions/TestWithAfterSolutionAsTestResult.cs
+++ b/src/ClientServer/Models/Exercises/AfterSolutions/TestWithAfterSolutionAsTestResult.cs
@@ -47,13 +47,13 @@ namespace ClientServer.Models.Exercises.AfterSolutions
         /// <summary>
         /// the conversation protocol between the user program and the test runner
         /// </summary>
-        [MaxLength(SyndromDbContext.TestProtocolMaxStringLength)]
+        [MaxLength(YapexDbContext.TestProtocolMaxStringLength)]
         public string Protocol { get; set; }
         
         /// <summary>
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string RunnerVersion { get; set; }
 
         /// <summary>
@@ -84,7 +84,7 @@ namespace ClientServer.Models.Exercises.AfterSolutions
         /// the test server version
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerVersion { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Asset.cs b/src/ClientServer/Models/Exercises/Asset.cs
index 78c175cc112a97291abf9f687b5081d1aa054fc2..03d18145db8c94b77c835abe81e78c5ffbbacb6e 100644
--- a/src/ClientServer/Models/Exercises/Asset.cs
+++ b/src/ClientServer/Models/Exercises/Asset.cs
@@ -13,7 +13,7 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the name of the file/asset
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// the asset url for assets (starts with <see cref="Constants.MarkdownAssetFileUrlPrefix"/>)
@@ -21,7 +21,7 @@ namespace ClientServer.Models.Exercises
         /// we use html5 file api for that
         /// 
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string AssetUrl { get; set; }
         /// <summary>
         /// the content of the asset (binary)
@@ -30,7 +30,7 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Exercise.cs b/src/ClientServer/Models/Exercises/Exercise.cs
index 95c85348a2379fecc2d5dce7884413230aa2d26a..36d5edbfa2cfbe422527bbb744fd72984b2530af 100644
--- a/src/ClientServer/Models/Exercises/Exercise.cs
+++ b/src/ClientServer/Models/Exercises/Exercise.cs
@@ -26,12 +26,12 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// a short description
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string ShortDescription { get; set; }
 
         /// <summary>
@@ -64,7 +64,7 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// notes for the exercise (e.g. to change something in the future...)
         /// </summary>
-        [MaxLength(SyndromDbContext.NotesMaxStringLength)]
+        [MaxLength(YapexDbContext.NotesMaxStringLength)]
         public string Note { get; set; }
 
 
diff --git a/src/ClientServer/Models/Exercises/ExerciseDescription.cs b/src/ClientServer/Models/Exercises/ExerciseDescription.cs
index ca06238b3c2900d2c05bf9228789da45f28290f8..c5d07bc8cdae5e7436da2b8e4376ca20fb12db17 100644
--- a/src/ClientServer/Models/Exercises/ExerciseDescription.cs
+++ b/src/ClientServer/Models/Exercises/ExerciseDescription.cs
@@ -21,7 +21,7 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the content for the description (see the exercise description types and protocols)
         /// </summary>
-        [MaxLength(SyndromDbContext.DescriptionContentMaxStringLength)]
+        [MaxLength(YapexDbContext.DescriptionContentMaxStringLength)]
         public string Content { get; set; }
 
 
diff --git a/src/ClientServer/Models/Exercises/Release/ExerciseRelease.cs b/src/ClientServer/Models/Exercises/Release/ExerciseRelease.cs
index 5061d005cf64e4982cd9715a7a738191381c75fb..2846b74527059587ec3af60c50c6ec861214eed7 100644
--- a/src/ClientServer/Models/Exercises/Release/ExerciseRelease.cs
+++ b/src/ClientServer/Models/Exercises/Release/ExerciseRelease.cs
@@ -39,7 +39,7 @@ namespace ClientServer.Models.Exercises.Release
         /// <summary>
         /// the generated code for this <see cref="ExerciseRelease"/>
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string GeneratedCode { get; set; }
 
         /// <summary>
@@ -57,7 +57,7 @@ namespace ClientServer.Models.Exercises.Release
         /// <summary>
         /// a note
         /// </summary>
-        [MaxLength(SyndromDbContext.NotesMaxStringLength)]
+        [MaxLength(YapexDbContext.NotesMaxStringLength)]
         public string Note { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Exercises/Solution/CustomTestWithSingleSolutionAsTestResult.cs b/src/ClientServer/Models/Exercises/Solution/CustomTestWithSingleSolutionAsTestResult.cs
index d1ad5a9e8c40d5f84fb94e05847f07479bb817b6..28be011842bfaac425581c0f034503e0588692bb 100644
--- a/src/ClientServer/Models/Exercises/Solution/CustomTestWithSingleSolutionAsTestResult.cs
+++ b/src/ClientServer/Models/Exercises/Solution/CustomTestWithSingleSolutionAsTestResult.cs
@@ -55,13 +55,13 @@ namespace ClientServer.Models.Exercises.Solution
         /// <summary>
         /// the conversation protocol between the user program and the test runner
         /// </summary>
-        [MaxLength(SyndromDbContext.TestProtocolMaxStringLength)]
+        [MaxLength(YapexDbContext.TestProtocolMaxStringLength)]
         public string Protocol { get; set; }
         
         /// <summary>
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string RunnerVersion { get; set; }
 
         /// <summary>
@@ -92,7 +92,7 @@ namespace ClientServer.Models.Exercises.Solution
         /// the test server version
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerVersion { get; set; }
 
     }
diff --git a/src/ClientServer/Models/Exercises/Solution/Solution.cs b/src/ClientServer/Models/Exercises/Solution/Solution.cs
index 753c5cb0e6fb7a784fe4686bb3ecfd1be6fac2a9..d24e8eda2f93c38020bc4a7d10409bedb9c49d9e 100644
--- a/src/ClientServer/Models/Exercises/Solution/Solution.cs
+++ b/src/ClientServer/Models/Exercises/Solution/Solution.cs
@@ -94,7 +94,7 @@ namespace ClientServer.Models.Exercises.Solution
         /// from the user
         /// NOT USED YET
         /// </summary>
-        [MaxLength(SyndromDbContext.NotesMaxStringLength)]
+        [MaxLength(YapexDbContext.NotesMaxStringLength)]
         public string Note { get; set; }
 
         /// <summary>
@@ -124,7 +124,7 @@ namespace ClientServer.Models.Exercises.Solution
         /// the last ip address when a user created or changed the solution
         /// can be null if not captured (before we introduced this prop)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string LastEditingIpAddress { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Solution/SolutionAssessment.cs b/src/ClientServer/Models/Exercises/Solution/SolutionAssessment.cs
index f7ef26883c03d6176a49cfbe1d2135cd8b3ad891..6dfb9631f8dd777274ffbbb9bab89f885070141d 100644
--- a/src/ClientServer/Models/Exercises/Solution/SolutionAssessment.cs
+++ b/src/ClientServer/Models/Exercises/Solution/SolutionAssessment.cs
@@ -45,19 +45,19 @@ namespace ClientServer.Models.Exercises.Solution
         /// null for no error or the empty string OR
         /// the error message from the test server or some other source
         /// </summary>
-        [MaxLength(SyndromDbContext.TestContentMaxStringLength)]
+        [MaxLength(YapexDbContext.TestContentMaxStringLength)]
         public string LastAssessmentErrorMessage { get; set; }
 
         /// <summary>
         /// the note from the tutor
         /// </summary>
-        [MaxLength(SyndromDbContext.NotesMaxStringLength)]
+        [MaxLength(YapexDbContext.NotesMaxStringLength)]
         public string NoteForOtherTutors { get; set; }
 
         /// <summary>
         /// the note for the student why he/she gets the manual points (feedback)
         /// </summary>
-        [MaxLength(SyndromDbContext.NotesMaxStringLength)]
+        [MaxLength(YapexDbContext.NotesMaxStringLength)]
         public string FeedbackForStudent { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Exercises/Solution/SolutionFile.cs b/src/ClientServer/Models/Exercises/Solution/SolutionFile.cs
index fdbb4c815f88a3413ad1ad32cfb43ec3db570654..13077980b0a86de6dd7deffa72a79c2c32ed9d45 100644
--- a/src/ClientServer/Models/Exercises/Solution/SolutionFile.cs
+++ b/src/ClientServer/Models/Exercises/Solution/SolutionFile.cs
@@ -12,12 +12,12 @@ namespace ClientServer.Models.Exercises.Solution
         /// <summary>
         /// the file name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FileNameWithExtension { get; set; }
         /// <summary>
         /// the content of the file
         /// </summary>
-        [MaxLength(SyndromDbContext.FileContentMaxStringLength)]
+        [MaxLength(YapexDbContext.FileContentMaxStringLength)]
         public string Content { get; set; }
 
 
diff --git a/src/ClientServer/Models/Exercises/Solution/TestWithSingleSolutionAsTestResult.cs b/src/ClientServer/Models/Exercises/Solution/TestWithSingleSolutionAsTestResult.cs
index e366803b12ea121c8d37aada9e6ed73e77b3e224..64b35e8332c03d3f0af7b4eb95c1d201e5947aad 100644
--- a/src/ClientServer/Models/Exercises/Solution/TestWithSingleSolutionAsTestResult.cs
+++ b/src/ClientServer/Models/Exercises/Solution/TestWithSingleSolutionAsTestResult.cs
@@ -57,13 +57,13 @@ namespace ClientServer.Models.Exercises.Solution
         /// <summary>
         /// the conversation protocol between the user program and the test runner
         /// </summary>
-        [MaxLength(SyndromDbContext.TestProtocolMaxStringLength)]
+        [MaxLength(YapexDbContext.TestProtocolMaxStringLength)]
         public string Protocol { get; set; }
         
         /// <summary>
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string RunnerVersion { get; set; }
 
         /// <summary>
@@ -94,7 +94,7 @@ namespace ClientServer.Models.Exercises.Solution
         /// the test server version
         /// can be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerVersion { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Tag.cs b/src/ClientServer/Models/Exercises/Tag.cs
index ab3c285bd26970c950e6a8265d204292313ff0b9..510c8dbbbf4b726ae8499e0a80ef8daf90e6025b 100644
--- a/src/ClientServer/Models/Exercises/Tag.cs
+++ b/src/ClientServer/Models/Exercises/Tag.cs
@@ -20,31 +20,31 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
 
         /// <summary>
         /// the some description text (for popup)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Description { get; set; }
         /// <summary>
         /// the html color (css string)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string HtmlColor { get; set; }
 
         /// <summary>
         /// the html background color (css string)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string HtmlBackgroundColor { get; set; }
 
         /// <summary>
         /// the html icon string
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string HtmlIcon { get; set; }
 
     }
diff --git a/src/ClientServer/Models/Exercises/TemplateFile.cs b/src/ClientServer/Models/Exercises/TemplateFile.cs
index a66a8e67ecdc02a37587663d1dc3b75dbef4395e..1a4d774cd297a02ade5cc231fe0901461f1c21c6 100644
--- a/src/ClientServer/Models/Exercises/TemplateFile.cs
+++ b/src/ClientServer/Models/Exercises/TemplateFile.cs
@@ -17,7 +17,7 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the name of the file with extension
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FileNameWithExtension { get; set; }
 
         /// <summary>
@@ -48,7 +48,7 @@ namespace ClientServer.Models.Exercises
         /// <summary>
         /// the content of the code template
         /// </summary>
-        [MaxLength(SyndromDbContext.FileContentMaxStringLength)]
+        [MaxLength(YapexDbContext.FileContentMaxStringLength)]
         public string Content { get; set; }
 
 
diff --git a/src/ClientServer/Models/Exercises/Tests/CustomTest.cs b/src/ClientServer/Models/Exercises/Tests/CustomTest.cs
index 3f0cdc1b70bd44b5a02afe503e6d82f3a32374fd..5053b1569aed812726ae5cfded0b524bcd26ee55 100644
--- a/src/ClientServer/Models/Exercises/Tests/CustomTest.cs
+++ b/src/ClientServer/Models/Exercises/Tests/CustomTest.cs
@@ -29,12 +29,12 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// the content for the <see cref="Test"/> ... see the black-box-test protocol
         /// </summary>
-        [MaxLength(SyndromDbContext.TestContentMaxStringLength)]
+        [MaxLength(YapexDbContext.TestContentMaxStringLength)]
         public string Content { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Exercises/Tests/CustomTestAsset.cs b/src/ClientServer/Models/Exercises/Tests/CustomTestAsset.cs
index 634234fb2171bfd8bba1b341171e7e7adc85b4e0..19e085e77c8517a9e04e1a5c88e3c443b0b71e86 100644
--- a/src/ClientServer/Models/Exercises/Tests/CustomTestAsset.cs
+++ b/src/ClientServer/Models/Exercises/Tests/CustomTestAsset.cs
@@ -17,7 +17,7 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the name of the file/asset
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// the content of the asset (binary)
@@ -26,14 +26,14 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
         
         /// <summary>
         /// the hash of the content
         /// can be null if not calculated but should not be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Hash { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Tests/DefaultCustomTestSettings.cs b/src/ClientServer/Models/Exercises/Tests/DefaultCustomTestSettings.cs
index 23f8fb85cc274ed8f26138804608e81ee35b0000..237e502ca56df42d76befa51a6bd2b36f6dbea11 100644
--- a/src/ClientServer/Models/Exercises/Tests/DefaultCustomTestSettings.cs
+++ b/src/ClientServer/Models/Exercises/Tests/DefaultCustomTestSettings.cs
@@ -37,7 +37,7 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// some compiler options .g. -Xlint options needs to be separated by whitespaces (like normal command args)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string CompilerOptions { get; set; }
 
 
diff --git a/src/ClientServer/Models/Exercises/Tests/Test.cs b/src/ClientServer/Models/Exercises/Tests/Test.cs
index de61987f71507d7b4b39f3a6cc057278f466ec17..8594cdb262436cfb062bdc2eed4e0cb4a438f6bb 100644
--- a/src/ClientServer/Models/Exercises/Tests/Test.cs
+++ b/src/ClientServer/Models/Exercises/Tests/Test.cs
@@ -24,7 +24,7 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the display name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// true: this <see cref="Test"/> is a submit test (is will run after the deadline is completed),
@@ -35,7 +35,7 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the content for the <see cref="Test"/> ... see the black-box-test protocol
         /// </summary>
-        [MaxLength(SyndromDbContext.TestContentMaxStringLength)]
+        [MaxLength(YapexDbContext.TestContentMaxStringLength)]
         public string Content { get; set; }
         /// <summary>
         /// the weight of the <see cref="Test"/>
diff --git a/src/ClientServer/Models/Exercises/Tests/TestAsset.cs b/src/ClientServer/Models/Exercises/Tests/TestAsset.cs
index 31a079a9941a6ef772b71d5dbf2a1220bcc5894a..bdf696ac95f3c8b0a61c4d0bf5105d4173a142cd 100644
--- a/src/ClientServer/Models/Exercises/Tests/TestAsset.cs
+++ b/src/ClientServer/Models/Exercises/Tests/TestAsset.cs
@@ -13,7 +13,7 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the name of the file/asset
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
         /// <summary>
         /// the content of the asset (binary)
@@ -22,14 +22,14 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
         
         /// <summary>
         /// the hash of the content
         /// can be null if not calculated but should not be null
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Hash { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Tests/TestSettings.cs b/src/ClientServer/Models/Exercises/Tests/TestSettings.cs
index 9c9c1c54361c99be7ca9fe12b21fe69c249d9a5e..8972147ca89382a456c8bbe1bb15f3dea345cfac 100644
--- a/src/ClientServer/Models/Exercises/Tests/TestSettings.cs
+++ b/src/ClientServer/Models/Exercises/Tests/TestSettings.cs
@@ -34,7 +34,7 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// some compiler options .g. -Xlint options needs to be separated by whitespaces (like normal command args)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string CompilerOptions { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Exercises/Tests/TestType.cs b/src/ClientServer/Models/Exercises/Tests/TestType.cs
index dbfa2b3315bea4c2ecd5c6e30351cd48a68b274e..5728bd38a2885ffb05ee13ae32b113725a54b595 100644
--- a/src/ClientServer/Models/Exercises/Tests/TestType.cs
+++ b/src/ClientServer/Models/Exercises/Tests/TestType.cs
@@ -12,13 +12,13 @@ namespace ClientServer.Models.Exercises.Tests
         /// <summary>
         /// the type name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
         /// <summary>
         /// the internal name used on the test server
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string InternalName { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Files/FileReferenceMarkdownAsset.cs b/src/ClientServer/Models/Files/FileReferenceMarkdownAsset.cs
index 9b8bb08fe690cd4b41fb283601e8eecd1479216e..575bd830b46f89bb709d4001009580fb6b429dff 100644
--- a/src/ClientServer/Models/Files/FileReferenceMarkdownAsset.cs
+++ b/src/ClientServer/Models/Files/FileReferenceMarkdownAsset.cs
@@ -24,19 +24,19 @@ namespace ClientServer.Models.Files
         /// <summary>
         /// md5 hash of the file content
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Hash { get; set; }
 
         /// <summary>
         /// original name of the file (at the time the file was uploaded)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string OriginalName { get; set; }
         
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Files/FileReferenceTestAsset.cs b/src/ClientServer/Models/Files/FileReferenceTestAsset.cs
index 78133c3314e4ffc38d0e66b6f7a1640599ed8072..f728ece18ae6c09090251a22acbac9c2056424c8 100644
--- a/src/ClientServer/Models/Files/FileReferenceTestAsset.cs
+++ b/src/ClientServer/Models/Files/FileReferenceTestAsset.cs
@@ -24,19 +24,19 @@ namespace ClientServer.Models.Files
         /// <summary>
         /// md5 hash of the file content
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Hash { get; set; }
         
         /// <summary>
         /// original name of the file (at the time the file was uploaded)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string OriginalName { get; set; }
         
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
         
         /// <summary>
diff --git a/src/ClientServer/Models/Files/FileReferenceUserFileAsset.cs b/src/ClientServer/Models/Files/FileReferenceUserFileAsset.cs
index 7edfb1af98afc2de5e2e2ebd78458d8df2784a79..dc2754c6ff41cfd86579fc16fed6984996e6f3f2 100644
--- a/src/ClientServer/Models/Files/FileReferenceUserFileAsset.cs
+++ b/src/ClientServer/Models/Files/FileReferenceUserFileAsset.cs
@@ -27,19 +27,19 @@ namespace ClientServer.Models.Files
         /// <summary>
         /// md5 hash of the file content
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Hash { get; set; }
         
         /// <summary>
         /// original name of the file (at the time the file was uploaded)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string OriginalName { get; set; }
         
         /// <summary>
         /// the mime type (maybe we need to know what content is stored)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string MimeType { get; set; }
         
         /// <summary>
diff --git a/src/ClientServer/Models/Lang.cs b/src/ClientServer/Models/Lang.cs
index 400e1fcdb3074b26a00c6ec41058a1d32e82a292..26f61a4372aec30c91136268000b75e9c5b0dc47 100644
--- a/src/ClientServer/Models/Lang.cs
+++ b/src/ClientServer/Models/Lang.cs
@@ -13,13 +13,13 @@ namespace ClientServer.Models
         /// <summary>
         /// the language name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Language { get; set; }
 
         /// <summary>
         /// e.g. en/de ...
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string LangShortcut { get; set; }
 
     }
diff --git a/src/ClientServer/Models/PLang.cs b/src/ClientServer/Models/PLang.cs
index 320295e1fff5d9101141b4f92583f94b0a833a7e..504dac89e5dbb30267ff1f342c7bed69d6a925c0 100644
--- a/src/ClientServer/Models/PLang.cs
+++ b/src/ClientServer/Models/PLang.cs
@@ -13,27 +13,27 @@ namespace ClientServer.Models
         /// <summary>
         /// the name of the programming language
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
         /// <summary>
         /// the internal name e.g. used for the online-editor
         /// ALSO make sure it's a valid file path would be good to use no spaces... c++ -> cpp
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string InternalName { get; set; }
         
         
         /// <summary>
         /// a comma separated list of file extensions for this plang
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FileExtensionsWithDot { get; set; }
             
         /// <summary>
         /// the highlight mode for the editor (currently ace)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string EditorHighlightModeName { get; set; }
     }
 }
diff --git a/src/ClientServer/Models/Users/AuthToken.cs b/src/ClientServer/Models/Users/AuthToken.cs
index 7947fe7e24b0e0cbeb095abb5d41547e8a5d4123..36bd08608290c9dbbe9a341102baf9ff5411a28e 100644
--- a/src/ClientServer/Models/Users/AuthToken.cs
+++ b/src/ClientServer/Models/Users/AuthToken.cs
@@ -24,7 +24,7 @@ namespace ClientServer.Models.Users
         /// this is appended to the server secret to get a unique key for every user
         /// CURRENTLY NOT USED
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string RandomSecret { get; set; }
 
         /// <summary>
@@ -32,13 +32,13 @@ namespace ClientServer.Models.Users
         /// no more jwt token because if we rapidly change the tokens then the frontend and backend tokens get out of sync ...
         /// also if we extend the token lifetime we don't change the content (jwt token would change because other expiration date ...)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string UserAuthToken { get; set; }
 
         /// <summary>
         /// the crsf token which is needed for any request (after login)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string CsrfToken { get; set; }
 
 
diff --git a/src/ClientServer/Models/Users/ExternalUser.cs b/src/ClientServer/Models/Users/ExternalUser.cs
index 2b75c5a85164eaab9a226f10ff3e0f06478df7c9..452bcc9fb3523963fb7ccb85a9059375a09e2831 100644
--- a/src/ClientServer/Models/Users/ExternalUser.cs
+++ b/src/ClientServer/Models/Users/ExternalUser.cs
@@ -16,24 +16,24 @@ namespace ClientServer.Models.Users
         /// <summary>
         /// the token e.g. ahbxf or the username
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Token { get; set; }
         /// <summary>
         /// the first name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FirstName { get; set; }
 
         /// <summary>
         /// the last name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string LastName { get; set; }
 
         /// <summary>
         /// the email
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Email { get; set; }
         /// <summary>
         /// true: the external data changed so when the next redirect comes then refresh the connected user data,
diff --git a/src/ClientServer/Models/Users/GroupRole.cs b/src/ClientServer/Models/Users/GroupRole.cs
index 889559dbf45ced61789b806ed0480e0ddb9a871e..2517350eae2bb9af5afbd8354d6b2180d5fb351c 100644
--- a/src/ClientServer/Models/Users/GroupRole.cs
+++ b/src/ClientServer/Models/Users/GroupRole.cs
@@ -20,7 +20,7 @@ namespace ClientServer.Models.Users
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
 
diff --git a/src/ClientServer/Models/Users/GroupRolePermission.cs b/src/ClientServer/Models/Users/GroupRolePermission.cs
index a277a44d089a9f79db61f7229cbd48325457fdf3..88b9c438d8b1bf0be6d8df623a69adecec331ed3 100644
--- a/src/ClientServer/Models/Users/GroupRolePermission.cs
+++ b/src/ClientServer/Models/Users/GroupRolePermission.cs
@@ -14,7 +14,7 @@ namespace ClientServer.Models.Users
         }
 
         public GroupRolePermission(bool CanCreateExercises, bool CanChangeExercises, bool CanDeleteExercises,
-            bool CanSeeExercisesFromOthersInGroup, bool CanReleaseExercises,
+            bool CanSeeExercisesFromOthersInGroup, bool canManageExerciseReleases,
             bool CanLockExercisesPermanently,
             bool CanAssessExercises, bool CanAddUserToGroup, bool CanRemoveMemberFromGroup,
             bool CanChangeOtherMembersRole, bool CanSeeOtherMembers, bool CanChangeGroupData)
@@ -23,7 +23,7 @@ namespace ClientServer.Models.Users
             this.CanChangeExercises = CanChangeExercises;
             this.CanDeleteExercises = CanDeleteExercises;
             this.CanSeeExercisesFromOthersInGroup = CanSeeExercisesFromOthersInGroup;
-            this.CanReleaseExercises = CanReleaseExercises;
+            this.CanManageExerciseReleases = canManageExerciseReleases;
             this.CanLockExercisesPermanently = CanLockExercisesPermanently;
             this.CanAssessExercises = CanAssessExercises;
             this.CanAddUserToGroup = CanAddUserToGroup;
@@ -59,9 +59,9 @@ namespace ClientServer.Models.Users
         public bool CanSeeExercisesFromOthersInGroup { get; set; }
 
         /// <summary>
-        /// true: can release exercises, false: not
+        /// true: can manage exercise releases (crud), false: not
         /// </summary>
-        public bool CanReleaseExercises { get; set; }
+        public bool CanManageExerciseReleases { get; set; }
 
         /// <summary>
         /// true: can lock exercises, false not
diff --git a/src/ClientServer/Models/Users/Settings/CodeEditorSettings.cs b/src/ClientServer/Models/Users/Settings/CodeEditorSettings.cs
index 709d7bbe5db8380e5ceb4979aaad9570f111feaa..3238a9313099056aa05fb821a191ef1a829bd585 100644
--- a/src/ClientServer/Models/Users/Settings/CodeEditorSettings.cs
+++ b/src/ClientServer/Models/Users/Settings/CodeEditorSettings.cs
@@ -13,7 +13,7 @@ namespace ClientServer.Models.Users.Settings
         /// <summary>
         /// the theme of the editor
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Theme { get; set; }
         /// <summary>
         /// the font size 
diff --git a/src/ClientServer/Models/Users/Settings/UserSetting.cs b/src/ClientServer/Models/Users/Settings/UserSetting.cs
index 632abbdd9f029b6ddb741456c0b1d0d890f81bf9..36d49d195240aeef212adf3da070bf8539e3f36b 100644
--- a/src/ClientServer/Models/Users/Settings/UserSetting.cs
+++ b/src/ClientServer/Models/Users/Settings/UserSetting.cs
@@ -21,7 +21,7 @@ namespace ClientServer.Models.Users.Settings
         /// <summary>
         /// the theme to use (can be null)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Theme { get; set; }
 
 
diff --git a/src/ClientServer/Models/Users/SystemRole.cs b/src/ClientServer/Models/Users/SystemRole.cs
index 333b3356b60aab586099a4617fb05733b6801003..08125b6a96eb1b52648af00b87aa4c8fa0512311 100644
--- a/src/ClientServer/Models/Users/SystemRole.cs
+++ b/src/ClientServer/Models/Users/SystemRole.cs
@@ -16,13 +16,13 @@ namespace ClientServer.Models.Users
         /// <summary>
         /// the name of the role
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
         /// <summary>
         /// the email of the role (may be null)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Email { get; set; }
 
 
diff --git a/src/ClientServer/Models/Users/SystemSetting.cs b/src/ClientServer/Models/Users/SystemSetting.cs
index 058721bf1f1c4abcbcb191d0ab92c5e1756ee76f..1998d68fddb1fcad5de93383a085c4b3957ccedb 100644
--- a/src/ClientServer/Models/Users/SystemSetting.cs
+++ b/src/ClientServer/Models/Users/SystemSetting.cs
@@ -60,7 +60,7 @@ namespace ClientServer.Models.Users
         /// <summary>
         /// a message that is displayed to all users (refreshed ever X seconds, X set in frontend)
         /// </summary>
-        [MaxLength(SyndromDbContext.NotesMaxStringLength)]
+        [MaxLength(YapexDbContext.NotesMaxStringLength)]
         public string CurrentServerMessage { get; set; }
         
         
@@ -75,27 +75,27 @@ namespace ClientServer.Models.Users
         ///
         /// NOT NOW we only use on test server but we might to add a SubmitTestServerStatsUrl at some point...
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerStatsUrl { get; set; }
        
         
         /// <summary>
         /// the test server url, used to run tests
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerUrl { get; set; }
 
         
         /// <summary>
         /// the submit test server url, used to run submit tests
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string SubmitTestServerUrl { get; set; }
 
         /// <summary>
         /// the url to the ui to configure the test server
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string TestServerConfigUiUrl { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Users/User.cs b/src/ClientServer/Models/Users/User.cs
index 5856ffb039eebff6ab7567afce85ba972ec21f20..d42b7b0e28ced15eda50891b27c28a07d0f5e691 100644
--- a/src/ClientServer/Models/Users/User.cs
+++ b/src/ClientServer/Models/Users/User.cs
@@ -28,32 +28,32 @@ namespace ClientServer.Models.Users
         /// <summary>
         /// the letter code (e.g. ahbxf)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Token { get; set; }
 
         /// <summary>
         /// the password 
         /// CAN BE NULL if we wait for the user to enter a password after he was redirected for the first time from ostepu (external login)
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Password { get; set; }
 
         /// <summary>
         /// the first name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string FirstName { get; set; }
 
         /// <summary>
         /// the last name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string LastName { get; set; }
 
         /// <summary>
         /// the email
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Email { get; set; }
 
         /// <summary>
diff --git a/src/ClientServer/Models/Users/UserGroup.cs b/src/ClientServer/Models/Users/UserGroup.cs
index 186df88dec9bafb5a4444d5bd323a49745f10a54..0760ec23c19f8e47c3c79b822e3ff917d1e005ce 100644
--- a/src/ClientServer/Models/Users/UserGroup.cs
+++ b/src/ClientServer/Models/Users/UserGroup.cs
@@ -21,13 +21,13 @@ namespace ClientServer.Models.Users
         /// <summary>
         /// the name
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string DisplayName { get; set; }
 
         /// <summary>
         /// the email
         /// </summary>
-        [MaxLength(SyndromDbContext.DefaultMaxStringLength)]
+        [MaxLength(YapexDbContext.DefaultMaxStringLength)]
         public string Email { get; set; }
 
 
diff --git a/src/ClientServer/Startup.cs b/src/ClientServer/Startup.cs
index 03bae7dbbc891fc8e92dfc1f82ddc8071a67f4b7..8c81cbe5b914a6e433acd7034c0e9cf5138724b2 100644
--- a/src/ClientServer/Startup.cs
+++ b/src/ClientServer/Startup.cs
@@ -77,11 +77,11 @@ namespace ClientServer
         {
             #region ensure that the database is up to date...
 
-            var optionsBuilder = new DbContextOptionsBuilder<SyndromDbContext>();
+            var optionsBuilder = new DbContextOptionsBuilder<YapexDbContext>();
             optionsBuilder.UseNpgsql(AppConfiguration.DbConnectionString);
             try
             {
-                using (var context = new SyndromDbContext(optionsBuilder.Options))
+                using (var context = new YapexDbContext(optionsBuilder.Options))
                 {
                     context.Database.Migrate();
                 }
@@ -117,7 +117,7 @@ namespace ClientServer
             });
 
             services
-                .AddDbContext<SyndromDbContext>(option => option.UseNpgsql(AppConfiguration.DbConnectionString),
+                .AddDbContext<YapexDbContext>(option => option.UseNpgsql(AppConfiguration.DbConnectionString),
                     ServiceLifetime.Scoped);
 
             //services.AddDbContext<SyndromDbContext>(options =>
diff --git a/src/ClientServer/Workers/FileWorker.cs b/src/ClientServer/Workers/FileWorker.cs
new file mode 100644
index 0000000000000000000000000000000000000000..161cede73fff5c6a771a2fc1682751ce5eed2f3d
--- /dev/null
+++ b/src/ClientServer/Workers/FileWorker.cs
@@ -0,0 +1,195 @@
+using System;
+using System.IO;
+using System.Linq;
+using System.Reactive.Linq;
+using System.Threading;
+using ClientServer.Db;
+using ClientServer.Helpers;
+using Microsoft.EntityFrameworkCore;
+
+namespace ClientServer.Workers
+{
+    /// <summary>
+    /// a worker to delete old/unused uploaded files
+    ///
+    /// we could do this immediately when we delete e.g. a custom test (then delete connected files if this was the only connection)
+    ///   but when we cascade delete the custom test (e.g. because the release as deleted) then this won't work
+    ///   we could delete the files when we call the delete api for the parent entity e.g. when the release is deleted
+    ///   then delete all files for all connected custom tests
+    ///
+    /// it's easier to just run a worker every X minutes to clear all unused files
+    /// a file is unused if it is in db but not used by any entity
+    /// </summary>
+    public static class FileWorker
+    {
+        public static void Start()
+        {
+            //see http://introtorx.com/Content/v1.0.10621.0/15_SchedulingAndThreading.html
+            //and https://stackoverflow.com/questions/20451939/observeon-and-subscribeon-where-the-work-is-being-done
+//            Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
+            //this will block the current thread (we call this from main program but this is ok because
+            //we want this to finish before we start the server fully)
+            Observable
+                .Interval(TimeSpan.FromMinutes(AppConfiguration.DeleteFilesWorkerIntervalInMinutes))
+//                .Interval(TimeSpan.FromSeconds(20)) //for debug
+                .Subscribe((min) => { NextRun(); });
+        }
+        
+        public static void NextRun()
+        {
+//            Console.WriteLine($"file: {Thread.CurrentThread.ManagedThreadId}");
+            
+            var optionsBuilder = new DbContextOptionsBuilder<YapexDbContext>();
+            optionsBuilder.UseNpgsql(AppConfiguration.DbConnectionString);
+
+            try
+            {
+                using (var context = new YapexDbContext(optionsBuilder.Options))
+                {
+                    #region (exercise) markdown assets
+
+                    var unusedMarkdownAssets = context.FileReferenceMarkdownAssets
+                            .Where(p => p.AssetReferences.Count == 0)
+                            .ToList()
+                        ;
+
+                    //we could do this without a transaction because we only use one .SaveChanges but
+                    //maybe in future we want to save after every single delete?
+                    using (var transaction = context.Database.BeginTransaction())
+                    {
+                        try
+                        {
+                            foreach (var unusedMarkdownAsset in unusedMarkdownAssets)
+                            {
+                                var basePath = Files.GetUploadFilePath(UploadDirType.MarkdownAssets);
+
+                                var info = new FileInfo(Path.Combine(basePath, unusedMarkdownAsset.Id.ToString()));
+
+                                if (info.Exists)
+                                {
+                                    info.Delete();
+                                    Console.WriteLine(
+                                        $"[INFO] Deleting unused markdown file with id {unusedMarkdownAsset.Id}");
+                                }
+
+                                Console.WriteLine(
+                                    $"[INFO] Deleting unused markdown file reference with id {unusedMarkdownAsset.Id}");
+                                context.FileReferenceMarkdownAssets.Remove(unusedMarkdownAsset);
+                            }
+
+                            if (unusedMarkdownAssets.Count > 0)
+                            {
+                                context.SaveChanges();
+                                transaction.Commit();
+                            }
+                        }
+                        catch (Exception e)
+                        {
+                            transaction.Rollback();
+                            Console.WriteLine(e);
+                            throw;
+                        }
+                    }
+
+                    #endregion
+
+
+                    #region test assets
+
+                    var unusedTestAssets = context.FileReferenceTestAssets
+                            .Where(p => p.AssetReferences.Count == 0)
+                            .ToList()
+                        ;
+
+                    using (var transaction = context.Database.BeginTransaction())
+                    {
+                        try
+                        {
+                            foreach (var unusedTestAsset in unusedTestAssets)
+                            {
+                                var basePath = Files.GetUploadFilePath(UploadDirType.TestAssets);
+
+                                var info = new FileInfo(Path.Combine(basePath, unusedTestAsset.Id.ToString()));
+
+                                if (info.Exists)
+                                {
+                                    info.Delete();
+                                    Console.WriteLine($"[INFO] Deleting unused test file with id {unusedTestAsset.Id}");
+                                }
+
+                                Console.WriteLine(
+                                    $"[INFO] Deleting unused test file reference with id {unusedTestAsset.Id}");
+                                context.FileReferenceTestAssets.Remove(unusedTestAsset);
+                            }
+
+                            if (unusedTestAssets.Count > 0)
+                            {
+                                context.SaveChanges();
+                                transaction.Commit();
+                            }
+                        }
+                        catch (Exception e)
+                        {
+                            transaction.Rollback();
+                            Console.WriteLine(e);
+                            throw;
+                        }
+                    }
+
+                    #endregion
+
+                    #region user assets
+
+                    var unusedUserFileAssets = context.FileReferenceUserFileAssets
+                            .Where(p => p.CustomTestWithFileAsAssetReferences.Count == 0 &&
+                                        p.CustomProjectDescriptionWithFileAsAssetReferences.Count == 0 &&
+                                        p.CustomProjectTestWithFileAsAssetReferences.Count == 0)
+                            .ToList()
+                        ;
+
+                    using (var transaction = context.Database.BeginTransaction())
+                    {
+                        try
+                        {
+                            foreach (var unusedUserFileAsset in unusedUserFileAssets)
+                            {
+                                var basePath = Files.GetUploadFilePath(UploadDirType.UserAssets);
+
+                                var info = new FileInfo(Path.Combine(basePath, unusedUserFileAsset.Id.ToString()));
+
+                                if (info.Exists)
+                                {
+                                    info.Delete();
+                                    Console.WriteLine(
+                                        $"[INFO] Deleting unused user file (in file system) with id {unusedUserFileAsset.Id}");
+                                }
+
+                                Console.WriteLine(
+                                    $"[INFO] Deleting unused user file reference (in db) with id {unusedUserFileAsset.Id}");
+                                context.FileReferenceUserFileAssets.Remove(unusedUserFileAsset);
+                            }
+
+                            if (unusedUserFileAssets.Count > 0)
+                            {
+                                context.SaveChanges();
+                                transaction.Commit();
+                            }
+                        }
+                        catch (Exception e)
+                        {
+                            transaction.Rollback();
+                            Console.WriteLine(e);
+                            throw;
+                        }
+                    }
+
+                    #endregion
+                }
+            }
+            catch (Exception exception)
+            {
+                Console.WriteLine(exception);
+            }
+        }
+    }
+}
diff --git a/src/ClientServer/Workers/ReleaseWorker.cs b/src/ClientServer/Workers/ReleaseWorker.cs
index c73d4e7e080b3aa30b45dfbb078f758f2ba70c4c..c2e517cf8bb2c10cca52bac50bad777b86c6405b 100644
--- a/src/ClientServer/Workers/ReleaseWorker.cs
+++ b/src/ClientServer/Workers/ReleaseWorker.cs
@@ -52,12 +52,12 @@ namespace ClientServer.Workers
                 //Console.WriteLine("Release scheduler run # " + runNumber + " running at: " + now + " (UTC)");
             }
 
-            var optionsBuilder = new DbContextOptionsBuilder<SyndromDbContext>();
+            var optionsBuilder = new DbContextOptionsBuilder<YapexDbContext>();
             optionsBuilder.UseNpgsql(AppConfiguration.DbConnectionString);
 
             try
             {
-                using (var context = new SyndromDbContext(optionsBuilder.Options))
+                using (var context = new YapexDbContext(optionsBuilder.Options))
                 {
                     var automaticReleasesToRelease = context.ExerciseReleases
                         .Where(
diff --git a/src/ClientServer/Workers/SubmissionAssessmentWorker.cs b/src/ClientServer/Workers/SubmissionAssessmentWorker.cs
index bb78ed9bddad896610064aaabd8f73f098c07787..455b9ca6987d7281c44c6ce0d5004b9ba2296c5b 100644
--- a/src/ClientServer/Workers/SubmissionAssessmentWorker.cs
+++ b/src/ClientServer/Workers/SubmissionAssessmentWorker.cs
@@ -83,12 +83,12 @@ namespace ClientServer.Schedulers
         [Obsolete("not properly implemented & unsafe")]
         public static void RunForRelease(int releaseId)
         {
-            var optionsBuilder = new DbContextOptionsBuilder<SyndromDbContext>();
+            var optionsBuilder = new DbContextOptionsBuilder<YapexDbContext>();
             optionsBuilder.UseNpgsql(AppConfiguration.DbConnectionString);
 
             try
             {
-                using (var context = new SyndromDbContext(optionsBuilder.Options))
+                using (var context = new YapexDbContext(optionsBuilder.Options))
                 {
                     var systemSettings = context.SystemSettings.FirstOrDefault();
 
@@ -177,7 +177,7 @@ namespace ClientServer.Schedulers
                     //Console.WriteLine("Assessment scheduler run # " + runNumber + " running at: " + now.ToLocalTime());
                 }
 
-                var optionsBuilder = new DbContextOptionsBuilder<SyndromDbContext>();
+                var optionsBuilder = new DbContextOptionsBuilder<YapexDbContext>();
                 optionsBuilder.UseNpgsql(AppConfiguration.DbConnectionString);
 
                 int assessedReleases = 0;
@@ -185,7 +185,7 @@ namespace ClientServer.Schedulers
 
                 try
                 {
-                    using (var context = new SyndromDbContext(optionsBuilder.Options))
+                    using (var context = new YapexDbContext(optionsBuilder.Options))
                     {
                         var systemSettings = context.SystemSettings.FirstOrDefault();
 
@@ -273,7 +273,7 @@ namespace ClientServer.Schedulers
         /// <param name="context"></param>
         /// <param name="testingController"></param>
         /// <returns></returns>
-        internal static bool AddDummyAssessments(ExerciseRelease release, SyndromDbContext context,
+        internal static bool AddDummyAssessments(ExerciseRelease release, YapexDbContext context,
             TestingController testingController)
         {
             ExerciseRelease finishedRelease = context.ExerciseReleases
@@ -475,7 +475,7 @@ namespace ClientServer.Schedulers
         /// <param name="testingController">the testing controller to run the tests</param>
         /// <param name="resetTestResultsFirst">true: reset all test results before running the assessment, false: not</param>
         /// <returns>true: ok, false: no matching release found</returns>
-        internal static async Task<bool> RunForRelease(ExerciseRelease release, SyndromDbContext context,
+        internal static async Task<bool> RunForRelease(ExerciseRelease release, YapexDbContext context,
             TestingController testingController, bool reRunNotFinishedAssessments, bool resetTestResultsFirst,
             SystemSetting systemSettings)
         {
@@ -715,7 +715,7 @@ namespace ClientServer.Schedulers
         /// <param name="testingController">the testing controller</param>
         /// <returns></returns>
         internal static async Task<bool> RunSingleAutomaticAssessment(ExerciseRelease release, SolutionPrimaryKey pk,
-            SyndromDbContext context, TestingController testingController, SystemSetting systemSettings)
+            YapexDbContext context, TestingController testingController, SystemSetting systemSettings)
         {
             ExerciseRelease finishedRelease = await context.ExerciseReleases
                     .Include(p => p.ExerciseReleaseWithUserAsParticipations)
@@ -844,7 +844,7 @@ namespace ClientServer.Schedulers
         /// <returns>true: everything ok, false: some error</returns>
         private static async Task<bool> RunAutomaticAssessment(SolutionPrimaryKey pk, int maxNormalTestPoints,
             int maxSubmitTestPoints,
-            List<Test> normalTests, List<Test> submitTests, SyndromDbContext context,
+            List<Test> normalTests, List<Test> submitTests, YapexDbContext context,
             CodeTemplate codeTemplate,
             TestingController testingController,
             SystemSetting systemSettings,