Any non-zero homomorphism of holomorphic vector bundles over a compact Riemann surface factors through a maximal rank homomorphism I was reading the paper "Stable and Unitary vector bundles on a compact surface" by Narashiman and Seshadri. 
I quote from the paper:

Let $W_1$ and $W_2$ be two vector bundles of rank $n$ on the compact Riemann surface $X$. A (holomorphic) homomorphism $f:W_1\to W_2$ is said to be of maximal rank if the canonical extension $\bigwedge^nf:\bigwedge^nW_1\to\bigwedge^nW_2$ is a non-zero homomorphism. If $f:W_1\to W_2$ is a homomorphism of maximal rank we have $d(W_1)\le d(W_2)$, and if $d(W_1)=d(W_2)$, $f$ is an isomorphism. (These statements follow from the corresponding statements for line bundles.)
Let $V$ and $W$ be two vector bundles on $X$, not necessarily of the same rank. Let $f:V\to W$ be a non-zero homomorphism. Since the structure sheaf $\mathbf O_x$ is a sheaf of principal ideal domains, we see that $f$ has the following canonical factorisation
  $$\begin{array}\\
0&\to&V_1&\to&V&\overset\eta\to&V_2&\to&0\\
&&&&&&\downarrow\small g\\
0&\gets&W_2&\gets&W&\underset i\gets&W_1&\gets&0
\end{array}$$
  where $V_1,V_2,W_1,W_2$ are vector bundles, each row is exact, $f=i\circ g\circ\eta$ and $g$ is of maximal rank. We call $W_1$ the subbundle of $W$ generated by the image of $f$.

Can someone please explain how does any non-zero homomorphism of vector bundles can be factored through a maximal rank homomorphisms? It will be helpful if someone provides with an simple to read reference.
 A: First, take $V_2=f(V)$. Since we are over a non-singular curve, $V_2$ is a vector bundle and we have the top exact sequence where $V_1$ is the kernel of $f$. Let $W_1$ be the set of all elements in $W$ which go to a torsion element in $W/V_2$. Then we have the bottom exact sequence, where $W_2=W/W_1$. Also, $V_2\subset W_1$. Both have the same rank and the inclusion (as sheaves) says it is of maximal rank.
A: I am also trying to work out this fact so, I will have a go at providing an answer.
The two facts we require from the structure theorem of finitely generated modules over a PID are:
Fact 1: Every PID-module can be decomposed into its torsion and locally free submodules.
Fact 2: A PID-module $M$ and its proper submodule $N$ have the same ranks iff $M/N$ contain torsion elements. 
We basically have sheaf-versions of these facts as $\mathcal{O}_X$ is a sheaf of PIDs and the vector bundles of interests are $\mathcal{O}_X$-modules. 
Now, we may begin. Let $V_1 = \ker(\alpha)$ and $V_2 = $im($\alpha).$ Since they are subsheaves of a locally free sheaf $E$, they are also locally free. This gives us the top exact sequence. 
Unfortunately, the cokernel sheaf coker($\alpha) = W/$im$(\alpha)$ may not be locally free. So set $$W_2 = \text{coker}(\alpha)/t(\text{coker}(\alpha)),$$
where $t(\text{coker}(\alpha))$ is its torsion subsheaf defined by 
$$t(\text{coker}(\alpha)) = \bigsqcup_{x \in X} \{ s \in \text{coker}(\alpha)_x : fs = 0, s \in \mathcal{O}_X\}.$$
This is locally free due to Fact 1. Setting $W_1 = \ker(W \rightarrow W_2),$ we have the bottom exact sequence.
By definition, $V_2 \subset W_1$ and $W_1/V_2$ contains torsion elements. Hence, rank($V_2$) = rank($W_1$), which makes $\beta$ a map of maximal rank (I think?). 
Please let me know if this argument is flawed. 
