Una version un poco mejorada en JS