diff --git a/paper/sections/02-related-work.tex b/paper/sections/02-related-work.tex
index a7409f6fbdba7382d4d0ae66041f708fab1e21d8..83ddfc5ed7ac4d7e84c188b80644f9867569a124 100644
--- a/paper/sections/02-related-work.tex
+++ b/paper/sections/02-related-work.tex
@@ -1,29 +1,120 @@
-The problems related with battery drain due to the usage of GPS sensors in small devices are well known and both the number and variety of the works adressing this problem also tesify it. Previous works mostly apply to smartphones and propose different methodologies: some that work on the GPS stack itself and some that try to reduce its usage.
+Battery drain is a serious problem when GPS sensors are used in small
+devices. This is well testified by the number and variety of works
+that try to mitigate it. Previous work mainly apply to smartphones and
+can be categorized in two classes, depending on the type of approach
+that is used for battery optimization: (i) work on the GPS stack --
+i.e., work optimizing the behavior of the sensor, (ii) work that try
+to reduce the usage of the GPS sensor -- i.e., work that tries to
+sample less frequently or only when needed.
 
-In the first class we find~\cite{bib:computation-offloading} that aims at outsourcing the computation from the device to some server via network connnection. \cite{bib:selective-tracking} instead improves power-efficiency of computation though selecting only a subset of visible satellites to be tracked. Other works aim at improving the speed of acquisition of the signal either using information from previous acquisitions~\cite{bib:microsoft-leap} or using different algorithms for signal decoding~\cite{bib:sparse-fourier}.
-
-In the second class of works we find many attemps~\cite{bib:enloc-smartphones}~\cite{bib:virtualGPS}~\cite{bib:accuracy-adaptation} of building an \emph{adaptation} layer that controls the device usage of positioning sensors and reduces the usage of GPS antenna (always evaluated to be the most power-consuming). These usually try to implement a trade-off controller betwen accuracy and energy consumption. In the same class we can include works~\cite{bib:feasibility-duty-cycling}~\cite{bib:traffic-delay}~\cite{bib:entracked-datadriven-modeling}~\cite{bib:senseLess}~\cite{bib:framework-for-energy-efficiency} that exploit other sensors to detect when the state of the user and automatically try to minimize the usage of GPS antenna by turning it on only when needed. Last in this class we mention~\cite{bib:desing-principles-for-energy-efficiency} that proposes a set of design principles for smartphone applications to make them more power-efficient.
-
-This work poses itself in a complementary role with respect to the cited ones. We propose a modeling approach based only on how the GPS system is designed and that therefore is transversal to the implementation of the specific sensor. We argue that with this model better and optimal implementations of the proposed solutions can be studied. Effort in the direction of modeling GPS sensors has been done before~\cite{bib:selective-tracking}~\cite{bib:entracked-datadriven-modeling}. Such efforts are been mainly data-driven, making it valid only for the specific case, and most importantly, not dynamic, i.e. not having any notion of state. Since the  GPS sensors can behave differently to the same inputs according to their state a dynamic approach when modeling those devices provide better insights on what can be achieved.
-
-
-%\begin{itemize}
-%	\item many works discuss the problem of power consumption in GPS devices from different points of view. those are:  
-%	\item --------------
-%	\item improving of computation efficiency(?): either not using all the satellites (with was meaningful for harware based gps receivers, now I don't see what you could gain in sw based receivers), 'outsourcing' the computations transferring them to servers~\cite{bib:computation-offloading},tracking only a subset of the visible satllites~\cite{bib:selective-tracking}(modeling of how the different components of the sensor consume power(not dynamic, just linear model wrt to time), try to reduce connsumpion tracking less satellites)
-%	\item improving speed of signal acquisition~\cite{bib:microsoft-leap}(also has experiments showing constant power consumption when on),~\cite{bib:sparse-fourier}(faster furies transform to improve speed of signa acquisiiton),
-%	\item shifting other positioning techniques like wifi trilateration or network cells trilateration called GSM(which is necessary when in comes to indoor applications)~\cite{bib:enloc-smartphones}(euristics for chosing the right positioning sensor according to some energy-accuracy traqde off. also has experiments that show that the GPs consumes power constant when turned on which is around 400mW)~\cite{bib:virtualGPS}(eneesimo lavor su come scegliere quale sensore usare per il posizionamento su uno smartphone, ottimizzazioni inter diverse applicazioni),~\cite{bib:accuracy-adaptation}(chose the right sensor according to required accuracy),
-%	\item sensor fusion techniques
-%	\item duty cycling~\cite{bib:feasibility-duty-cycling}(studio di fattibilità del downsampling per ricostruire la traiettoria)~\cite{bib:traffic-delay}(traffic jam detection, different smpling policies for energy saving),~\cite{bib:entracked-datadriven-modeling}sampling triggered with some form of optimization trigered by a a data driven model, or imu-triggered sampling~\cite{bib:senseLess}(accelerometer to detect movement and therefore trigger the usage of GPS),~\cite{bib:framework-for-energy-efficiency}(usage of various sensor foruser state recognition and triggering of different positioning sensors)
-%	\item usage of specific design principles when designing location based applications~\cite{bib:desing-principles-for-energy-efficiency}
-%	\item --------------
-%	\item https://www.developerfusion.com/article/4652/writing-your-own-gps-applications-part-2/2/ the number of satellites can improve accuracy, see also~\cite{bib:accuracy-adaptation}
-%	\item few works present modeling of how GPS sensors consume power~\cite{bib:entracked-datadriven-modeling}, none of them dynamical
-%	\item where is this work placed with respect to the others -- no dynamical modeling of it has ever been done before, it would be useful for understainding why and how the sensr consumes power (sometimes deelays are encoutnered but no one discusses where those deelays come from) 
-%	\item one other possible application of this model is: tracking of animals~\cite{bib:application-zoo}
-%	\item work that show the complexity of modeling the accuracy~\cite{bib:space-weather-ionospheric}
-%\end{itemize}
+The first class includes results
+like~\cite{bib:computation-offloading, bib:selective-tracking,
+  bib:microsoft-leap, bib:sparse-fourier}. The authors of
+\cite{bib:computation-offloading} aim at outsourcing the device
+computation (once the data has been received) to some server, using a
+network connnection. \cite{bib:selective-tracking} improves the GPS
+receiver power-efficiency selecting only a subset of visible
+satellites to be tracked. Other works aim at improving the speed of
+the signal acquisition either using information from previous
+acquisitions~\cite{bib:microsoft-leap}, or using different algorithms
+for the decoding of the signal~\cite{bib:sparse-fourier}.
 
+The second class includes several attempts to build an
+\emph{adaptation} layer that controls the usage of positioning
+sensors, keeping the antenna off for as much time as
+possible~\cite{bib:enloc-smartphones, bib:virtualGPS,
+  bib:accuracy-adaptation}. Usually, this is achieved implementing a
+trade-off controller, that trades accuracy for energy consumption. In
+the same class we can include works that exploit other sensors. When
+the adaptation layer detects that the user state does not need high
+accuracy, it minimizes the GPS antenna usage by turning it off and
+enabling it again only on demand~\cite{bib:feasibility-duty-cycling,
+  bib:traffic-delay, bib:entracked-datadriven-modeling, bib:senseLess,
+  bib:framework-for-energy-efficiency}. Among the works on this
+additional adaptation
+layer,~\cite{bib:desing-principles-for-energy-efficiency} proposes a
+set of design principles for smartphone applications, to improve the
+smartphone battery efficiency.
 
+This work has a complementarly role with respect to the ones mentioned
+above. We propose here a modeling approach based only on how the GPS
+receiver is designed. This is therefore transversal with respect to
+the implementation details of the specific sensor. We argue that we
+can study the trade-off between accuracy and battery consumption in a
+first principled way, using this model. We can also determine how
+different factors (including satellite visibility, and timing
+behaviors) affect the receiver.
 
+Modeling GPS sensors is not a new reserach area, see for
+example~\cite{bib:selective-tracking,
+  bib:entracked-datadriven-modeling}. These prior efforts are mainly
+data-driven, i.e., they collect data for a specific receiver with a
+given hardware and software platform and try to infer the behavior of
+the sensor from this data (and not having any notion of state). This
+paper represents an attempt of deriving a generic \emph{dynamic}
+model. We argue that this is needed, since the GPS receiver can behave
+differently in response to the same input, depending on its internal
+state.
 
+% \begin{itemize}
+% \item many works discuss the problem of power consumption in GPS
+%   devices from different points of view. those are:
+% \item improving of computation efficiency(?): either not using all
+%   the satellites (with was meaningful for harware based gps
+%   receivers, now I don't see what you could gain in sw based
+%   receivers), 'outsourcing' the computations transferring them to
+%   servers~\cite{bib:computation-offloading},tracking only a subset
+%   of the visible satllites~\cite{bib:selective-tracking}(modeling of
+%   how the different components of the sensor consume power(not
+%   dynamic, just linear model wrt to time), try to reduce connsumpion
+%   tracking less satellites)
+% \item improving speed of signal
+%   acquisition~\cite{bib:microsoft-leap}(also has experiments showing
+%   constant power consumption when
+%   on),~\cite{bib:sparse-fourier}(faster furies transform to improve
+%   speed of signa acquisiiton),
+% \item shifting other positioning techniques like wifi trilateration
+%   or network cells trilateration called GSM(which is necessary when
+%   in comes to indoor
+%   applications)~\cite{bib:enloc-smartphones}(euristics for chosing
+%   the right positioning sensor according to some energy-accuracy
+%   traqde off. also has experiments that show that the GPs consumes
+%   power constant when turned on which is around
+%   400mW)~\cite{bib:virtualGPS}(eneesimo lavor su come scegliere
+%   quale sensore usare per il posizionamento su uno smartphone,
+%   ottimizzazioni inter diverse
+%   applicazioni),~\cite{bib:accuracy-adaptation}(chose the right
+%   sensor according to required accuracy),
+% \item sensor fusion techniques
+% \item duty cycling~\cite{bib:feasibility-duty-cycling}(studio di
+%   fattibilità del downsampling per ricostruire la
+%   traiettoria)~\cite{bib:traffic-delay}(traffic jam detection,
+%   different smpling policies for energy
+%   saving),~\cite{bib:entracked-datadriven-modeling}sampling
+%   triggered with some form of optimization trigered by a a data
+%   driven model, or imu-triggered
+%   sampling~\cite{bib:senseLess}(accelerometer to detect movement and
+%   therefore trigger the usage of
+%   GPS),~\cite{bib:framework-for-energy-efficiency}(usage of various
+%   sensor foruser state recognition and triggering of different
+%   positioning sensors)
+% \item usage of specific design principles when designing location
+%   based
+%   applications~\cite{bib:desing-principles-for-energy-efficiency}
+% \item https://www.developerfusion.com/article/4652/ [cut]
+%   [cut] writing-your-own-gps-applications-part-2/2/ the number of
+%   satellites can improve accuracy, see
+%   also~\cite{bib:accuracy-adaptation}
+% \item few works present modeling of how GPS sensors consume
+%   power~\cite{bib:entracked-datadriven-modeling}, none of them
+%   dynamical
+% \item where is this work placed with respect to the others -- no
+%   dynamical modeling of it has ever been done before, it would be
+%   useful for understainding why and how the sensr consumes power
+%   (sometimes deelays are encoutnered but no one discusses where
+%   those deelays come from)
+% \item one other possible application of this model is: tracking of
+%   animals~\cite{bib:application-zoo}
+% \item work that show the complexity of modeling the
+%   accuracy~\cite{bib:space-weather-ionospheric}
+% \end{itemize}
diff --git a/paper/sections/03-model.tex b/paper/sections/03-model.tex
index e4af43a3e3ebadb938971c0b46689077468b259d..90d79a173cbb262d3c31b9d7c936a6138e045f52 100644
--- a/paper/sections/03-model.tex
+++ b/paper/sections/03-model.tex
@@ -192,7 +192,7 @@ font=\footnotesize]
 % arrows from 2
 \draw [arr] (cs) to node [above] {\texttt{fetch\_freq\&phase}} (re);
 \draw [arr, in=60, out=120] (cs) to node [above, xshift=1mm] {\texttt{turn\_off}} (ni);
-\draw [arr, in=210, out=240] (cs) edge[loop] node [below, xshift=-6mm] {\texttt{lose\_visibility}} (cs);
+%\draw [arr, in=210, out=240] (cs) edge[loop] node [below, xshift=-6mm] {\texttt{lose\_visibility}} (cs);
 
 % arrows from 3
 \draw [arr] (re) to node [above] {\texttt{get\_ephemeris}} (pa); 
@@ -212,7 +212,7 @@ font=\footnotesize]
 \draw [arr, in=-45, out=0] (ws) to node [right, near start, xshift=1mm] {\texttt{fetch\_freq\&phase}} (pa);
 \draw [arr, in=285, out=135] (ws) to node [near end, above, xshift=13mm, yshift=-2mm] {\texttt{ephemeris\_expire}} (cs);
 \draw [arr, in=-10, out=190] (ws) to node [above] {\texttt{turn\_off}} (wsa);
-\draw [arr, in=-60, out=-30] (ws) edge[loop] node [below] {\texttt{lose\_visibility}} (ws);
+%\draw [arr, in=-60, out=-30] (ws) edge[loop] node [below] {\texttt{lose\_visibility}} (ws);
 
 % arrows from 6 - warm start available
 \draw [arr, in=170, out=10] (wsa) to node [above] {\texttt{turn\_on}} (ws);
@@ -238,7 +238,9 @@ Detecing data from more than 4 satellites improves the positioning
 accuracy. As for power consumption, the receiver always consumes a
 (negligible) idle power. On top of that, the sensor consumes
 additional power when its radio is turned on, which is precisely the
-cause of battery draining. \textcolor{red}{This power has been experimentally shown to be constant in time~\cite{bib:enloc-smartphones}~\cite{bib:microsoft-leap} and usually around 400mW.}. Our model needs to capture whether:
+cause of battery draining. This power has been experimentally shown to
+be constant in time~\cite{bib:enloc-smartphones, bib:microsoft-leap}
+and usually around 400mW. Our model needs to capture whether:
 \begin{enumerate}
   \item \emph{ephemeris data} are available or not;
   \item \emph{ranging data} are available or not;
@@ -284,9 +286,11 @@ fetched. We refer to this transition as
 causes: (i) the antenna is turned off (transition \texttt{turn\_off}),
 (ii) the number of visible satellites is less than the required
 one\footnote{Generally 4. Different applications may require a higher
-  number of satellites to improve positioning accuracy (\textcolor{red}{https://www.developerfusion.com/article/4652/writing-your-own-gps-applications-part-2/2/}).} (transition
-\texttt{lose\_visibility}). Lastly the antenna's state is controlled
-by the user with the events \texttt{turn\_on} and \texttt{turn\_off}.
+  number of satellites to improve positioning accuracy
+  (\url{https://www.developerfusion.com/article/4652/writing-your-own-gps-applications-part-2/2/}).}
+(transition \texttt{lose\_visibility}). Lastly the antenna's state is
+controlled by the user with the events \texttt{turn\_on} and
+\texttt{turn\_off}.
 
 The transitions can be divided in three categories: \emph{inputs},
 \emph{delays}, and \emph{disturbances}. The two transitions
@@ -328,13 +332,9 @@ properties that define it. For instance, if the antenna is off (states
 No Info \textcircled{\scriptsize 1} and Warm Start Available
 \textcircled{\scriptsize 6}), the automaton can accept the transition
 \texttt{turn\_on} and move to a different state, but cannot accept the
-transition \texttt{turn\_off}. \textcolor{red}{There are three exceptions,
-corresponding to the self-loops in Figure~\ref{fig:cyberDynamics}. In
-state Cold Start \textcircled{\scriptsize 2} and Warm Start
-\textcircled{\scriptsize 5}, the ranging data are not available. The
-transition \texttt{lose\_visibility}, that models the loss of ranging
-data, can be fired to capture the interruption of the ongoing
-acquisition process, that has to be restarted.}\todo{remove alro transitions from figure.} In state Position Available \textcircled{\scriptsize 4} the transition
+transition \texttt{turn\_off}. There is one exception, corresponding
+to the self-loop in Figure~\ref{fig:cyberDynamics}. In state Position
+Available \textcircled{\scriptsize 4} the transition
 \texttt{get\_ephemeris} can be fired to indicate an update of the
 ephemeris data before their expiration.
 
diff --git a/paper/sections/05-control.tex b/paper/sections/05-control.tex
index ea53d85b2184022f7a2223d21c94e3d22f073ad6..d4a22be932da3f15edd9e688ef06087987b34362 100644
--- a/paper/sections/05-control.tex
+++ b/paper/sections/05-control.tex
@@ -59,25 +59,25 @@ arr/.style   = {->, solid, black!60},
 font=\footnotesize]
 
 %states
-\node[thick] (ni)   at ( 0,   0) [p_off, label={No Info}]              {1};
-\node[thick] (re)   at ( 0,  -3) [p_on, label={Read Ephemeris}]          {2};
-\node[thick] (gp)   at ( 5,  -3) [p_on, label={Get Position}]          {3};
-\node[thick] (wst)  at ( 5,   0) [p_off, label={Wait}]   {4};
-\node[thick] (zero) at ( -1,  0) [circle, draw=black!60, fill=black!60, inner sep=0.75mm] {};
+\node[thick] (ni)   at ( 0,   0) [p_off, label={[yshift=-0.75cm, xshift=-1cm]No Info}]              {1};
+\node[thick] (re)   at ( 0,  -2) [p_on, label={[yshift=-0.75cm, xshift=-1.4cm]Read Ephemeris}]          {2};
+\node[thick] (gp)   at ( 4,  -2) [p_on, label={[yshift=-0.75cm, xshift=1.25cm]Get Position}]          {3};
+\node[thick] (wst)  at ( 4,   0) [p_off, label={[yshift=-0.75cm, xshift=1cm]Wait}]   {4};
+\node[thick] (zero) at ( 0,   1) [circle, draw=black!60, fill=black!60, inner sep=0.75mm] {};
 
 %transitions
 \draw [arr] (zero) to (ni);
 %arrow from 1
 \draw [arr]             (ni)  to node [left, at start, yshift=-2mm] {\textcolor{red}{\texttt{turn\_on}}} (re); 
 %arrow from 2
-\draw [arr, bend right] (re)  to node [below, near end, yshift=-1mm, xshift=2mm] {\texttt{get\_ephemeris}} (gp);
-\draw [arr, loop below] (re)  to node [below] {\texttt{sensor in position\_available}} (re);
+\draw [arr, bend right] (re)  to node [below] {\texttt{get\_ephemeris}} (gp);
+\draw [arr, in=210, out=240] (re)  edge[loop] node[below, align=right] {\texttt{sensor in}\\\texttt{position\_available}} (re);
 %arrows from 3
-\draw [arr, bend left]  (gp)  to node [near start, left, yshift=2mm, align=right] {\texttt{sensor in position\_available} \\ \textcolor{red}{\texttt{turn\_off}}} (wst);
-\draw [arr, bend right] (gp)  to node [below, align=center, yshift=-2mm] {\texttt{lost\_visibility} \\ \textbf{\texttt{or}} \texttt{ephemeris\_about\_to\_expire}} (re);
+\draw [arr, bend left]  (gp)  to node [near start, left, yshift=4mm, align=right] {\texttt{sensor in}\\\texttt{position\_available} \\ \textcolor{red}{\texttt{turn\_off}}} (wst);
+\draw [arr, bend right] (gp)  to node [below, align=center, yshift=-1mm] {\texttt{lost\_visibility} \textbf{\texttt{or}} \\ \texttt{ephemeris\_expiring}} (re);
 %arrows from 4
 \draw [arr, bend left]  (wst) to node [right, align=left, xshift=2mm, yshift=-3mm, at start] {\texttt{$\sum(\Tr(P)>th)$} \\ \texttt{\textcolor{red}{\texttt{turn\_on}}}} (gp); 
-\draw [arr, bend right] (wst) to node [left, at start, xshift=-2mm, yshift=3mm, align=right] {\texttt{ephemeris\_about\_to\_expire} \\ \textcolor{red}{\texttt{turn\_on}}} (re);
+\draw [arr, bend right] (wst) to node [left, at start, yshift=4mm, align=right] {\texttt{ephemeris\_expiring} \\ \textcolor{red}{\texttt{turn\_on}}} (re);
 \end{tikzpicture}
 \caption{State Machine of the Sampling Strategy Controller.}
 \label{fig:controller}
@@ -88,3 +88,4 @@ font=\footnotesize]
 The logical controller sends a \textcolor{red}{\texttt{turn\_on}} signal when the system is starting, to collect the ephemeris data (State \textcircled{\scriptsize 2} in Figure~\ref{fig:controller}). Then, once the ephemeris data are available (which is defined by the very same transition of the sensor model), it starts cycling between states \textcircled{\scriptsize 3} and \textcircled{\scriptsize 4}, alternatively triggering the \textcolor{red}{\texttt{turn\_off}} and \textcolor{red}{\texttt{turn\_on}} signals. For readability, and consistently with the sensor model shown in Figure~\ref{fig:cyberDynamics}, the states in which the antenna is turned on are filled in green.
 
 When the ephemeris data are about to expire (intuitively defined as $time>expiry\_time\_ephemeris-60$), or the sensor loses visibility of the tracked satellites, the controller goes back to State \textcircled{\scriptsize 2} and keeps the antenna on, to refresh the ephemeris data. If the ephemeris data are valid (and about to expire) the sensor can actually still be sampled, represented by taking the transition \texttt{sensor in position\_avaialable}.
+