Mejoras varias en el algoritmo.
Definidas varias situaciones en que la operación se reinicia (en vez de reescribirla)