refactor a funcional: insfraestructura