ya funciona, mejoras en el codigo