Covering space of a $\theta$ graph I'm considering a problem of finding an explicit algorithm to construct a covering of a finite graph (in particular, of a $\theta$ graph)
Since the current graph is homotopy equivalent to a wedge of 2 circles, then its fundamental group is free with two generators -- $\pi_{1}(S^{1} \vee S^{1}) = F_{a,b}$. So, for a given normal subgroup $H \subset G = F_{a,b}$(for example, let $H = <a^{3}, a^{3} b>$ -- normal) i would like to construct a covering space $Г_{1}$ so that the map $p: Г_{1} \rightarrow Г_{2}$ is covering and $p_{*}(Г_{1}) = H$, where $p_{*}: \pi_{1}(Г_{1}) \rightarrow \pi_{1}(Г_{2})$ - a map, induced by $p$. 
Well, we can study subgroup structure of $F_{a, b}$ by constructing many-folded covering spaces of $W = S^{1} \vee S^{1}$ and vice verca. Moreover, it's possible to construct a covering space of $W$ using more or less developed approach, which is known as a method of Stallings folds (i've already asked a question and recieved a complete answer here, in addition, there are some papers on the related topic, like this or this). 
Still, despite the fact that for basic computational purposes there is no need in constructing the entire covering space of a graph (since we know that any finite graph is homotopy equivalent to the wedge of circles, so in order to compute the fundamental group only the Euler characteristic is requiered), it seems reasonable to try looking for a general approach to find a desired covering space.
So, the following questions are:
1) Is there is a general approach to construct a covering space of a finite graph for a given subgroup of its fundamental group?
2) For a given covering space of a wedge of circles -- is it possible to modify the covering so that it could work in the case of $theta$ graphs, or in some other cases, in which the base space is homotopy equivalent to the given wedge ( or at least looks similar enough).
In the case, shown at the picture the loop $12$ corresponds to the letter $a$, the loop $13$ corresponds to the letter $b$. 
Any help would be much appreciated.
 A: The Stallings fold method will work with any base graph whatsoever, not just a wedge of two circles aka a "rank 2 rose graph". There is no need to first construct the covering space of the rank 2 rose graph and then modify it to obtain the covering space of the $\theta$ graph (unless there is a special reason for comparing the two covering-space-subgraphs). Instead one works directly with the $\theta$ graph itself, using the same construction method.
The basic setup of the Stallings fold method is a base graph $G$, which I'll assume only to be a finite, connected graph having no valence 1 vertex, another graph $Q$, and a continuous map $f : Q \to G$ taking vertices to vertices and taking each edge to an edge path in $G$ without backtracking. 
With this setup, the problem is to construct the covering space of $G$ that corresponds to the subgroup 
$$\text{Image}\bigl(f_* : \pi_1(Q) \to \pi_1(G) \bigr)
$$
(I'm being sloppy by ignoring base points here, and I could clear this up if needed).
As an example, suppose that $G$ is the $\theta$ graph with oriented edges $E_1,E_2,E_3$ as notated in your question. Set $a = E_2 E_1$ and $b = E_3 E_1$ (I think you wrote $a$ and $b$ backwards in your question, for example $12$ would indicate $E_1 E_2$ which is undefined). Suppose you want to construct the covering space corresponding to the subgroup $\langle aba^{-1}b,ab^{-1} \rangle$. Then you would take $Q$ to be a rank 2 rose whose two edges are assigned orientations and names $C,D$, and the continuous map $f : Q \to G$ that you want to use for this subgroup is
\begin{align*} f(C) &=  \underbrace{(E_2 E_1)}_a \underbrace{(E_3 E_1)}_b \underbrace{(E_2 E_1)}_{a^{-1}}{}^{-1} \underbrace{(E_3 E_1)}_b 
\\ &= E_2 E_1 E_3 E_1 E_1^{-1} E_2^{-1} E_3 E_1 
\\& = E_2 E_1 E_3 E_2^{-1} E_3 E_1 \\
f(D) &= \underbrace{(E_2 E_1)}_a \underbrace{(E_3 E_1)}_{b^{-1}}{}^{-1} 
\\ &= E_2 E_1 E_1^{-1} E_3^{-1}
\\&= E_2 E_3^{-1}
\end{align*}
Notice that in defining $f(C)$ I had to eliminate backtracking of the edge path in the $\theta$-graph $G$ by cancelling $E_1$ and $E_1^{-1}$. Similarly for $f(D)$.
With the map $f : Q \to G$ in hand, one is now ready to carry out the Stallings fold procedure, exactly as for any other graph.
