refactoring y funcionalidades faltantes