por fin tenemos un código que funciona bien