Hatcher Problem 1.2.15: Injectivity of an induced map of fundamental groups I have as an assignment problem that is Hatcher Exercise 1.2.15. The exercise is basically this. Given a space $X,x_0$, we construct a space $L(X)$ built from a one 0-cell, for each loop at $x_0$ in $X$ we have a 1-cell in $L(X)$, and for every map $T$ of the standard triangle into $X$, we have a 2-cell in $L(X)$ attached to three loops in $L(X)$ by the restriction of $T$ to the edge of a triangle.
I am asked to prove that from the natural map $L(X) \to X$, we get an induced map $$\pi_1(L(X),z_0)\to \pi_1(X,x_0)$$
that is a group isomorphism, where $z_0$ is the 0-cell that we have in $L(X)$.
Now I have spoken to my lecturer and he says that we can think of $L(X)$ as basically being built out of triangles, whereby for each standard triangle $\Delta$ in $L(X)$ we have a map $f_\Delta$ to $X$. We can then extend this to the whole of $L(X)$. The extension is well defined and our only problem is what happens if two triangles "touch". But the edge of a triangle is just one loop in $X$ so there is no problem. So this is my map $f : L(X) \to X$.
Now the surjectivity of $f_\ast$ is clear because for each loop in $X$ I have an edge of a triangle that maps to it. The problem now of course is injectivity. Suppose that $$f_\ast([\phi]) = [\phi'] = f_\ast([\psi]) = [\psi'].$$
Then this means that $\phi'\psi'^{-1}$ is homotopic to the constant map at $x_0$. We can think of this as a loop at $x_0$ so that $\phi'\psi'^{-1}$ determines the edge $E$ of a triangle in $L(X)$. My idea to show now that
$$\phi\psi \simeq c_{z_0}$$
is to say that every point on my edge $E$ must indeed be $z_0$. However I have tried for some time now to show this but nothing has worked out. Furthermore, it seems to me that when Hatcher says "for each loop at $x_0$ we have a $1$ - cell in $L(X)$" he surely means for each homotopy class of a loop we have a $1$ -cell in $L(X)$ yes? How do I go from here? 
Thanks.
Edit: I just had an idea to do the problem. I think Hatcher for each homotopy class of loops at $x_0$ we get a zero-cell in $L(X)$.  Now my idea is this. For each class of loop $[g]$ at $x_0$ we know it is $f([l])$ for some class of loops $[l]$ at $z_0$ in $L(X)$. Now define $p : \pi_1(X,x_0) \to \pi_1(L(X),z_0)$ by
$$p([f([l])]) = [l].$$
This is well defined once we know that $[f([l])] = [f([m])]$ implies that $[l] = [m]$. Once we know this it is easy to check that $p$ is a group homomorphism and is the desired inverse of $f$ and I'm done. I am in the process of trying to prove that fact above in order to conclude that $p$ is well-defined.
 A: It seems to me that Proposition 1.26 does most of the work. Note that $L(X)$ consists of a bouquet of 1-spheres together with a family of attached 2-cells. So its fundamental group is generated by the loops of $X$ modulo the relations coming from the attached 2-cells. All we have to do, is to show that if a loop in $L(X)$ is represented by a loop in the bouquet of circles with its image being null-homotopic in $X$, then the loop is already in the normal subgroup generated by the given triangles. Now observe that a null-homotopy in $X$ is "the same" thing as a triangle in $X$ with the required property - just think of one edge as the given loop and the opposing vertex as the constant loop.
Edit: Instead of proving $f([l])=f([m])\Rightarrow [l]=[m]$ we prove the equivalent (and slightly easier) statement $f([l])=0\Rightarrow [l]=0$. If $F:I\times I\to X$ is a null-homotopy than $F$ is constant on the top edge (in fact also on the left and right edge but that doesn't matter yet). So we can squash the top edge to a point and regard $F$ as a map from a triangle to $X$. On two of the three sides $F$ is constant and on the third one it's the loop $l$. So if $f([l])=0$ then $c_{z_0}\circ l\circ c_{z_0}$ is the boundary of a two cell and thus null-homotopic in $L(X)$. Finally we obviously have $c_{z_0}\circ l\circ c_{z_0}\simeq l$.
