Let $\displaystyle Y=f(X)+ \epsilon $ where $\displaystyle E[ \epsilon ] = 0 $

Let $\displaystyle EPE[x_0] = E_j[(y_0- \hat {f}(x_0))^2] $, show that $\displaystyle EPE[x_0]=Var(y_0|x_0)+(Bias( \hat {f}(x_0))^2+Var( \hat {f}(x_0)) $ where $\displaystyle E_j$ is the expected value based upon training datas.

My proof so far.

I have $\displaystyle E_j[(y_0- \hat {f}(x_0)] = E_j[y_0- f(x_0)+f(x_0)-E_j[ \hat {f}(x_0)] + E_j[ \hat {f}(x_0)] - \hat {f}(x_0))^2] $

But I'm having problem trying to write $\displaystyle Var (y_0|x_0) = E((y_0-E[y_0|x_0])^2|x_0] $ as terms that reassemble what I have up in there.

Thank you!