Merge detailed answers to reviewers comments
diff --git a/2-related-work.tex b/2-related-work.tex
index 80cc015..6912864 100644
--- a/2-related-work.tex
+++ b/2-related-work.tex
@@ -71,8 +71,9 @@ those that need to be visited next. While \cite{heydon99mercator} and
 \cite{boldi2003} uses a fully distributed architecture where URLs are
 divided among nodes using consistent hashing. Both of these approaches
 require the crawlers to implement complex mechanisms to achieve
-fault tolerance. The BlogForever Crawler circumvents this problem by
-delegating all shared mutable state to the back-end system. In addition,
+fault tolerance. The BlogForever Crawler does not have to address this
+issue as it is already Handled by the BlogForever back-end system which
+is responsible for task and state management. In addition,
 since we process web pages on the fly and directly emit the extracted
 content to the back-end, there is no need for persistent storage on
 the crawler's side. This removes one layer of complexity when compared
diff --git a/3-algorithms.tex b/3-algorithms.tex
index 5b12af4..71b7a7c 100644
--- a/3-algorithms.tex
+++ b/3-algorithms.tex
@@ -64,7 +64,7 @@ abstract or full text), its title, authors and publication date. We call
 these fields \emph{targets} as they constitute the data our crawler aims
 to extract. Observation (\ref{similarhtmlAssum}) guarantees the existence
 of an appropriate extraction rule, as well as its applicability to all
-posts of the blog.
+posts of the blog. Each page is uniquely identified by its URL. If a page is already processed, it is not processed again in the future.

 \autoref{extractionAlgo} shows the generic procedure we use to build
 extraction rules. The idea is quite simple: for each \code{(}\emph{page,
@@ -116,11 +116,11 @@ We chose the Sorensen–Dice coefficient similarity~\cite{dice1945},
 which is, to the best of our knowledge, the only string similarity
 algorithm fulfilling the following criteria:

-\begin{itemize}
+\begin{enumerate}
 \item\label{wordorderProp} Has low sensitivity to word ordering,
 \item\label{lengthProp} Has low sensitivity to length variations,
 \item\label{linearProp} Runs in linear time.
-\end{itemize}
+\end{enumerate}

 Properties \ref{wordorderProp} and \ref{lengthProp} are essential when
 dealing with cases where the blog's web feed only contains an abstract
@@ -249,7 +249,7 @@ Similarity & 0.7817 & 0.6680 & 0.6212 \\ \hline

 With bigrams computed in this dynamic programming manner, the overall
 time to compute all \coderef{bigramsAlgo}\code{(}\emph{node.text}\code{)}
-is linear. To conclude the proof that \autoref{linearAlgo} runs in linear
+is linear. To conclude the argument that \autoref{linearAlgo} runs in linear
 time we show that all other computations of the inner loop can be done
 in constant \emph{amortized} time. As the number of edges in a tree is
 one less than the number of nodes, the \emph{amortized} number of bigrams
@@ -309,15 +309,6 @@ comment authors) and $E(u, v)$ has weight equal to
 \coderef{similarityAlgo}\code{(}\emph{u, v}\code{)}.
 \end{itemize}

-Regarding time complexity, computing the \emph{tree distance} of each
-node of a graph to a single reference node can be done in linear time,
-and multiplying the number of targets by a constant factor does not
-affect the asymptotic computational complexity. Computing scores of
-comment extraction rules requires a more expensive algorithm. However,
-this is compensated by the fact that the proportion of candidates left,
-after filtering out rules not returning enough results, is very low in
-practice. Analogous reformulations to the one done with
-\autoref{linearAlgo} can be straightforwardly applied on each
-\code{ScoreFunction} to minimize the time spent in
-\coderef{similarityAlgo}.
+Regarding time complexity, computing the \emph{tree distance} of each node of a graph to a single reference node and multiplying the number of targets by a constant factor can be done in linear time. However, computing scores of comment extraction rules requires a more expensive algorithm. This is compensated by the fact that the proportion of candidate HTML nodes left, after filtering out rules not returning enough results, is very low in practice. Analogous reformulations to the one done with \autoref{linearAlgo} can be straightforwardly applied on each ScoreFunction to minimize the time spent in \coderef{similarityAlgo} calculations.

+It must be noted that there is no limitation due to comment nesting as long as comments follow the same format.
diff --git a/4-architecture.tex b/4-architecture.tex
index ac3d455..7c157c3 100644
--- a/4-architecture.tex
+++ b/4-architecture.tex
@@ -111,8 +111,9 @@ template, which uses this mechanism~\cite{antinharasymiv2011}.
 To support blogs with JavaScript-generated content, we embed a full web
 browser into the crawler. After considering multiple options, we opted
 for PhantomJS\footnote{\url{http://phantomjs.org}}, a headless web
-browser with great performance and scripting capabilities. The JavaScript
-rendering is the very first step of web page processing. Therefore,
+browser with great performance and scripting capabilities.
+The JavaScript rendering is enabled by default and is the very first
+step of web page processing. Therefore,
 extracting blog post articles, comments or multimedia files works equally
 well on blogs with JavaScript-generated content and on traditional
 HTML-only blogs.
diff --git a/5-evaluation.tex b/5-evaluation.tex
index af4b2c3..1488bb7 100644
--- a/5-evaluation.tex
+++ b/5-evaluation.tex
@@ -109,3 +109,4 @@ of algorithms implemented in different programming languages is not very
 informative given the high variations of running times observed across
 programming languages~\cite{hundt2011}.

+When compared to the other parts of crawling, the content extraction is sufficiently quick not to be a bottleneck. Indeed, extracting the content of 100 pages takes about half a second, downloading 100 pages takes at least 1 second, and, if enabled, rendering and taking screenshots takes about half a second per page.
diff --git a/main.pdf b/main.pdf
new file mode 100644
index 0000000..ac9c771
Binary files /dev/null and b/main.pdf differ