diff --git a/src/Admin/Admin.csproj b/src/Admin/Admin.csproj
index 73a0aa6649e374c1780a9e3769a7a0b489750057..c7cd3d0c8c63afeb353399f2cd2ff75bdbf6c69d 100644
--- a/src/Admin/Admin.csproj
+++ b/src/Admin/Admin.csproj
@@ -21,6 +21,6 @@
 		<PackageReference Include="Coscine.ApiCommons" Version="2.*-*" />
 		<PackageReference Include="Coscine.Database" Version="2.*-*" />
 		<PackageReference Include="Coscine.Metadata" Version="2.*-*" />
-		<PackageReference Include="Coscine.ResourceLoader" Version="2.*-*" />
+		<PackageReference Include="Coscine.ResourceTypes" Version="*-*" />
 	</ItemGroup>
 </Project>
diff --git a/src/Admin/Controllers/AdminController.cs b/src/Admin/Controllers/AdminController.cs
index 7da0591a79186cf5afe14866919eef86927f0cb7..ac351ff36451dcbff8e264bb46e868eaffdf06b3 100644
--- a/src/Admin/Controllers/AdminController.cs
+++ b/src/Admin/Controllers/AdminController.cs
@@ -8,7 +8,7 @@ using Coscine.Database.DataModel;
 using Coscine.Database.Models;
 using Coscine.Logging;
 using Coscine.Metadata;
-using Coscine.ResourceLoader;
+using Coscine.ResourceTypes;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Logging;
@@ -25,7 +25,6 @@ namespace Coscine.Api.Admin.Controllers
     {
         private readonly RdfStoreConnector _rdfStoreConnector = new(Program.Configuration.GetStringAndWait("coscine/local/virtuoso/additional/url"));
         private readonly Authenticator _authenticator;
-        private readonly IConfiguration _configuration;
         private readonly string _graphUrl;
         private readonly string _memberUrl;
         private readonly string _userUrlPrefix;
@@ -46,7 +45,6 @@ namespace Coscine.Api.Admin.Controllers
         public AdminController(ILogger<AdminController> logger)
         {
             _authenticator = new Authenticator(this, Program.Configuration);
-            _configuration = Program.Configuration;
             _graphUrl = "https://ror.org/04xfq0f34/roles";
             _memberUrl = "http://www.w3.org/ns/org#member";
             _userUrlPrefix = "https://coscine.rwth-aachen.de/u/";
@@ -94,14 +92,18 @@ namespace Coscine.Api.Admin.Controllers
         /// <returns>Allocated quota of the given resource type in the project.</returns>
         private int CalculateAllocatedForAll(ResourceType resourceType, Guid projectId)
         {
-            var resourceTypeDefinition = ResourceTypeFactory.CreateResourceTypeObject(resourceType.DisplayName, _configuration);
-
             var resources = _resourceModel.GetAllWhere((resource) =>
                         (from projectResource in resource.ProjectResources
                          where projectResource.ProjectId == projectId
                          select projectResource).Any() &&
                          resource.TypeId == resourceType.Id);
-            var allocated = resources.Sum(y => resourceTypeDefinition.GetResourceQuotaAvailable(y.Id.ToString(), _resourceModel.GetResourceTypeOptions(y.Id)).Result);
+
+            var allocated = resources.Sum(resource => ResourceTypeFactory
+                .Instance
+                .GetResourceType(resource)
+                .GetResourceQuotaAvailable(resource.Id.ToString(), _resourceModel.GetResourceTypeOptions(resource.Id))
+                .Result);
+
             return (int)allocated;
         }
 
@@ -113,14 +115,18 @@ namespace Coscine.Api.Admin.Controllers
         /// <returns>Used quota of the given resource type in the project.</returns>
         private int CalculateUsedForAll(ResourceType resourceType, Guid projectId)
         {
-            var resourceTypeDefinition = ResourceTypeFactory.CreateResourceTypeObject(resourceType.DisplayName, _configuration);
-
             var resources = _resourceModel.GetAllWhere((resource) =>
                         (from projectResource in resource.ProjectResources
                          where projectResource.ProjectId == projectId
                          select projectResource).Any() &&
                          resource.TypeId == resourceType.Id);
-            var used = Math.Ceiling(resources.Sum(y => resourceTypeDefinition.GetResourceQuotaUsed(y.Id.ToString(), _resourceModel.GetResourceTypeOptions(y.Id)).Result / _oneGb));
+
+            var used = Math.Ceiling(resources.Sum(resource => ResourceTypeFactory
+                .Instance
+                .GetResourceType(resource)
+                .GetResourceQuotaUsed(resource.Id.ToString(), _resourceModel.GetResourceTypeOptions(resource.Id))
+                .Result / _oneGb));
+
             return (int)used;
         }