I have two finite rank free modules $M,N$ over a principal ideal domain (the ring of formal complex power series to be exact) and a homomorphism between these two modules $\phi:M\rightarrow N$. Under what conditions does the kernel $\ker \phi$ have a complement $C$ in $M$ such that I can write $M=C\oplus \ker\phi$.?

I guess this question might be considered very elementary by many, so I'd also be happy to just be given a reference to a good text book. Searching Google did not turn up anything useful.

Thanks in advance for any replies.