diff --git a/src/Controllers/CalculatorController.ts b/src/Controllers/CalculatorController.ts
index a82f3b65d534b0297827e45ac77782a704904250..4e15f0fcc59b024c5301d9eb931fe86c3d3841dc 100644
--- a/src/Controllers/CalculatorController.ts
+++ b/src/Controllers/CalculatorController.ts
@@ -1,7 +1,7 @@
 import {
   Handler, Request, Response, Router,
 } from 'express';
-import AgeGroup from '../Models/AgeGroup';
+import AgeGroup from '../DTOs/AgeGroupDTO';
 import CalculatorService from '../Services/CalculatorService';
 import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
 
diff --git a/src/Models/AgeGroup.ts b/src/DTOs/AgeGroupDTO.ts
similarity index 57%
rename from src/Models/AgeGroup.ts
rename to src/DTOs/AgeGroupDTO.ts
index 2ef8fa8eae882c4066ac1be51ec7e0b15281b001..5acf22c1c9045c5d83bc02d16868e07b8d2fe4ef 100644
--- a/src/Models/AgeGroup.ts
+++ b/src/DTOs/AgeGroupDTO.ts
@@ -1,11 +1,11 @@
-import AgeBracket from '../Enum/AgeBracket'
-import Sex from '../Enum/Sex'
+import AgeBracket from '../Enum/AgeBracket';
+import Sex from '../Enum/Sex';
 
 type AgeGroup = {
   edad: AgeBracket;
   sexo: Sex;
   pesoMediano: number;
   cantidad: number;
-}
+};
 
 export default AgeGroup;
diff --git a/src/DTOs/CalculatorResponseDTO.ts b/src/DTOs/CalculatorResponseDTO.ts
index c0c792d99a4626d415668a3af7148394622666cb..520aea676b788c33ca5d05f516cfef015e986b31 100644
--- a/src/DTOs/CalculatorResponseDTO.ts
+++ b/src/DTOs/CalculatorResponseDTO.ts
@@ -1,10 +1,9 @@
-import exp from 'constants';
-import AgeGroup from '../Models/AgeGroup';
-import EnergeticRequirement from '../Models/EnergeticRequirement';
+import AgeGroup from './AgeGroupDTO';
+import EnergeticRequirement from './EnergeticRequirementDTO';
 
-type CalculatorResponseDTO = {
+type CalculatorResponse = {
   requerimientosPorGrupo: Map<AgeGroup, EnergeticRequirement>;
   requerimientoTotal: EnergeticRequirement;
 };
 
-export default CalculatorResponseDTO;
+export default CalculatorResponse;
diff --git a/src/Models/EnergeticRequirement.ts b/src/DTOs/EnergeticRequirementDTO.ts
similarity index 94%
rename from src/Models/EnergeticRequirement.ts
rename to src/DTOs/EnergeticRequirementDTO.ts
index b1005f859be9890cc99032fd1d839c8b14e0bb26..fbf14e4087a9658680aafb154cce46ba5347b795 100644
--- a/src/Models/EnergeticRequirement.ts
+++ b/src/DTOs/EnergeticRequirementDTO.ts
@@ -1,6 +1,6 @@
 type EnergeticRequirement = {
   requerimientoEnergeticoPerCapita: number;
   requerimientoEnergeticoTotal: number;
-}
+};
 
 export default EnergeticRequirement;
diff --git a/src/Services/CalculatorService.ts b/src/Services/CalculatorService.ts
index 9a2ecae62d934f475a4b42ae6fd461f6410b225c..36c4909581cf81a6f8430f304a91fbba107e5941 100644
--- a/src/Services/CalculatorService.ts
+++ b/src/Services/CalculatorService.ts
@@ -1 +1,15 @@
-import AgeGroup from "../Models/AgeGroup";
\ No newline at end of file
+import ERCalculator from './ERCalculator';
+import AgeGroup from '../DTOs/AgeGroupDTO';
+import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
+
+const calculateEnergeticRequirement = (ageGroups: AgeGroup[]): CalculatorResponse => {
+  const parametros = new Map<number[], AgeGroup>();
+  const params: number[] = [0, 0, 0];
+  ageGroups.forEach((group: AgeGroup) => {
+    parametros.set(params, group);
+  });
+  const res: CalculatorResponse = ERCalculator.calculateER(parametros);
+  return res;
+};
+
+export default { calculateEnergeticRequirement };
diff --git a/src/Services/ERCalculator.ts b/src/Services/ERCalculator.ts
index 684fb08a1213b96b6467c22c6a439112d5ec77ce..fa7c927ed62723246e175c4cc52215d5880da4bc 100644
--- a/src/Services/ERCalculator.ts
+++ b/src/Services/ERCalculator.ts
@@ -1,41 +1,41 @@
-import AgeGroup from '../Models/AgeGroup';
-import EnergeticRequirement from '../Models/EnergeticRequirement';
-import CalculatorResponseDTO from '../DTOs/CalculatorResponseDTO';
-
-const calculateER = (groupParameters: Map<number[], AgeGroup>): CalculatorResponseDTO => {
-  let totalOfPeople = 0;
-  let totalRequirement = 0;
-
-  const requirements = new Map();
-
-  groupParameters.forEach((group: AgeGroup, parameters: number[]) => {
-    totalOfPeople = +group.cantidad;
-
-    const requirement = parameters[0]
-    + (parameters[1] * group.pesoMediano)
-    + (parameters[2] * group.pesoMediano);
-
-    const groupRequirement: EnergeticRequirement = {
-      requerimientoEnergeticoPerCapita: requirement,
-      requerimientoEnergeticoTotal: requirement * group.cantidad,
-    };
-
-    totalRequirement = +groupRequirement.requerimientoEnergeticoTotal;
-
-    requirements.set(group, groupRequirement);
-  });
-
-  const totalER: EnergeticRequirement = {
-    requerimientoEnergeticoPerCapita: totalRequirement / totalOfPeople,
-    requerimientoEnergeticoTotal: totalOfPeople,
-  };
-
-  const result: CalculatorResponseDTO = {
-    requerimientosPorGrupo: requirements,
-    requerimientoTotal: totalER,
-  };
-
-  return result;
-};
-
-export default { calculateER };
+import AgeGroup from '../DTOs/AgeGroupDTO';
+import EnergeticRequirement from '../DTOs/EnergeticRequirementDTO';
+import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
+
+const calculateER = (groupParameters: Map<number[], AgeGroup>): CalculatorResponse => {
+  let totalOfPeople = 0;
+  let totalRequirement = 0;
+
+  const requirements = new Map();
+
+  groupParameters.forEach((group: AgeGroup, parameters: number[]) => {
+    totalOfPeople = +group.cantidad;
+
+    const requirement = parameters[0]
+    + (parameters[1] * group.pesoMediano)
+    + (parameters[2] * group.pesoMediano);
+
+    const groupRequirement: EnergeticRequirement = {
+      requerimientoEnergeticoPerCapita: requirement,
+      requerimientoEnergeticoTotal: requirement * group.cantidad,
+    };
+
+    totalRequirement = +groupRequirement.requerimientoEnergeticoTotal;
+
+    requirements.set(group, groupRequirement);
+  });
+
+  const totalER: EnergeticRequirement = {
+    requerimientoEnergeticoPerCapita: totalRequirement / totalOfPeople,
+    requerimientoEnergeticoTotal: totalOfPeople,
+  };
+
+  const result: CalculatorResponse = {
+    requerimientosPorGrupo: requirements,
+    requerimientoTotal: totalER,
+  };
+
+  return result;
+};
+
+export default { calculateER };