Arreglé un poco el código, puse comentarios para que esté más claro.