Refactorización completa.