existence of a certain analytic function

let $f$ to be an analytic function on $D=\{z\in \mathbb{C}: |z|<1\}$.

Show that there exists an $\epsilon\in (0,1)$ such that for any natural number $m$, there is an analytic function $g=g_m$ on $D_{\epsilon}=\{z\in\mathbb{C}: |z|<\epsilon\}$ for which we have $f(z^m)=(g(z))^m$ holds for every $z\in D_{\epsilon}$.

Any hint on this problem? Thanks in advance.

-
The first argument I can think of starts with a case analysis: Either $f(0)=0$ or $f(0)\ne 0$ ... –  Henning Makholm Dec 18 '12 at 19:38
@Henning, yes, when $f(0)\neq 0$, then we can directly pick a small $\epsilon$, such that $f(z)\neq 0, \forall z\in D_{\epsilon}$, then $f(z^m)\neq 0$ on this set, we can define $g(z)=(f(z^m))^{\frac{1}{m}}$ which is an analytic function on $D_{\epsilon}$. –  ougao Dec 18 '12 at 19:52

First, you can write $f(z)=z^kh(z)$ with $k\geq 0$ and $h(0)\neq 0$, $h$ holomorphic on $D$. Since $(z^m)^k=(z^k)^m$, it suffices to show that the result holds for $h$.
If you can define a logarithm of $h$ in a neighborhood of $0$, i.e. a holomorphic function $H(z)$ defined on some $\{z:|z|<\varepsilon\}$, such that $\exp(H(z))=h(z)$ in a neighborhood of $0$, then $\exp(\frac{1}{m}H(z))$ will be an $m^\text{th}$ root of $h$.
In fact, you can define a branch of the ordinary holomorphic logarithm in a neighborhood of $h(0)$, and, using continuity of $h$, this will suffice.
thanks, I see the point, to reduce $f(0)=0$ to the case $f(0)\neq 0$. Thanks! –  ougao Dec 18 '12 at 19:55