optimizado el codigo. funcional