Añadido la lógica y la capa de persistencia