diff --git a/session_1/session_1.Rmd b/session_1/session_1.Rmd
index 80784574dfb357e083ce378d16a3f14405427f44..83fb4f4d6a24e61ee4d79ab4b450105a85a5ccfe 100644
--- a/session_1/session_1.Rmd
+++ b/session_1/session_1.Rmd
@@ -758,4 +758,4 @@ unloadNamespace("ggplot2")
 sessionInfo()
 ```
 
-##See you in [Session 2 : "Introduction to Tidyverse"](session_2.html)
+## See you in [Session 2 : "Introductionto Tidyverse"](http://perso.ens-lyon.fr/laurent.modolo/R/session_2/)
diff --git a/session_2/session_2.Rmd b/session_2/session_2.Rmd
index fe15a3cd0cc06e04275355d3f0ca26e7b8aab224..252e010b87d1855061cfd59dfa7f6857f63bcf4e 100644
--- a/session_2/session_2.Rmd
+++ b/session_2/session_2.Rmd
@@ -500,6 +500,8 @@ ggplot(data = mpg, mapping = aes(x = displ, y = hwy, color = drv)) +
 </p>
 </details>
 
+## See you in [R.3: Transformations with ggplot2](http://perso.ens-lyon.fr/laurent.modolo/R/session_3/)
+
 # To go further: publication ready plots
 
 Once you have created the graph you need for your publication, you have to save it.
diff --git a/session_3/session_3.Rmd b/session_3/session_3.Rmd
index a0eff5710348217eb8aa1952b6c4a14990cb8247..6b2767b807ee0519dcb35f5d3ee5ea7f76ac6f77 100644
--- a/session_3/session_3.Rmd
+++ b/session_3/session_3.Rmd
@@ -343,3 +343,4 @@ ggplot(data = diamonds, mapping = aes(x = cut, fill = cut)) +
 
 By combining the right **geom**, **coordinates** and **faceting** functions, you can build a large number of different plots to present your results.
 
+## See you in [R.4: data transformation](http://perso.ens-lyon.fr/laurent.modolo/R/session_4/)
diff --git a/session_4/session_4.Rmd b/session_4/session_4.Rmd
index ecf70e9560758b22323446d553f2a8e0fec60958..84e86ea5eeb336af3667cca5076f6d50c398b28a 100644
--- a/session_4/session_4.Rmd
+++ b/session_4/session_4.Rmd
@@ -410,3 +410,5 @@ mutate(
 - Cumulative and rolling aggregates: R provides functions for running sums, products, mins and maxes: `cumsum()`, `cumprod()`, `cummin()`, `cummax()`; and dplyr provides `cummean()` for cumulative means. 
 - Logical comparisons, `<`, `<=`, `>`, `>=`, `!=`, and `==`
 - Ranking: there are a number of ranking functions, but you should start with `min_rank()`. There is also `row_number()`, `dense_rank()`, `percent_rank()`, `cume_dist()`, `ntile()`
+
+## See you in [R#5: Pipping and grouping](http://perso.ens-lyon.fr/laurent.modolo/R/session_5/)
diff --git a/session_5/session_5.Rmd b/session_5/session_5.Rmd
index 4cdef133124fdb99330e2ece21fc2f50a56bbf49..587f9238de278121c8cd97472bab871a5d48208e 100644
--- a/session_5/session_5.Rmd
+++ b/session_5/session_5.Rmd
@@ -394,3 +394,5 @@ flights %>%
 ```
 </p>
 </details>
+
+## See you in [R.6: tidydata](http://perso.ens-lyon.fr/laurent.modolo/R/session_6/)
diff --git a/session_6/session_6.Rmd b/session_6/session_6.Rmd
index 2f6fbde9e8bdd8bca0ba40945b67cfe19f96736d..a0c6f32fe940daa5baec1bea8c54f782bb73c6f7 100644
--- a/session_6/session_6.Rmd
+++ b/session_6/session_6.Rmd
@@ -134,7 +134,7 @@ table2 %>%
 
 Sometime the information can be split between different table
 
-```{r airlines, eval=F, echo = T}
+```{r airlines, eval=T, echo = T}
 library(nycflights13)
 flights
 airlines
@@ -243,3 +243,5 @@ These expect the x and y inputs to have the same variables, and treat the observ
 - `intersect(x, y)`: return only observations in both `x` and `y`.
 - `union(x, y)`: return unique observations in `x` and `y`.
 - `setdiff(x, y)`: return observations in `x`, but not in `y`.
+
+## See you in [R.7: String & RegExp](http://perso.ens-lyon.fr/laurent.modolo/R/session_7/)