Refactorizado código. Listo para merge