diff --git a/vignettes/legacy_features.Rmd b/vignettes/legacy_features.Rmd
new file mode 100644
index 0000000..a82634c
--- /dev/null
+++ b/vignettes/legacy_features.Rmd
@@ -0,0 +1,66 @@
+---
+title: "Legacy or Unrecommended Features"
+author: "Hao Zhu"
+date: "`r Sys.Date()`"
+output: 
+  html_document:
+    theme: simplex
+vignette: >
+  %\VignetteIndexEntry{Legacy or Unrecommended Features}
+  %\VignetteEngine{knitr::rmarkdown}
+  %\VignetteEncoding{UTF-8}
+---
+
+This document includes documentations for legacy/unrecommended features in this package. 
+
+Unless there are significant differences between HTML/LaTeX, I will only keep one copy of documentation in HTML here since most of the functions in this packages share a very similar interface between their HTML and LaTeX ends. 
+
+```{r, warning=FALSE}
+library(knitr)
+library(kableExtra)
+dt <- mtcars[1:5, 1:6]
+```
+
+# Unrecommended Features
+
+## add_footnote
+As the first function written in this package, the design of the `add_footnote` function is not flexible enough to introduce new features to this function. So I redesigned the footnote part and created the `footnote()` function. `add_footnote` will still be there for a while and be maintained because of its unique feature to add page footnote to longtables. 
+
+Here are the old documentation for `add_footnote`.
+
+### Notation systems
+You can also use `add_footnote()` function from this package. You will need to supply a character vector with each element as one footnote. You may select from `number`, `alphabet` and `symbol` for different types of notations. Example are listed below.
+
+#### Alphabet
+```{r}
+kable(dt, "html") %>%
+  kable_styling("striped") %>%
+  add_footnote(c("Footnote 1", "Have a good day."), notation = "alphabet")
+```
+
+#### Number
+```{r}
+kable(dt, "html") %>%
+  kable_styling("striped") %>%
+  add_footnote(c("Footnote 1", "Have a good day."), notation = "number")
+```
+
+#### Symbol
+```{r}
+kable(dt, "html") %>%
+  kable_styling("striped") %>%
+  add_footnote(c("Footnote 1", "Footnote 2", "Footnote 3"), notation = "symbol")
+```
+
+### In-table markers
+By design, `add_footnote()` will transform any `[note]` to in-table footnote markers. 
+
+```{r}
+kable(dt, "html", caption = "Demo Table[note]") %>%
+  kable_styling("striped") %>%
+  add_header_above(c(" ", "Group 1[note]" = 3, "Group 2[note]" = 3)) %>%
+  add_footnote(c("This table is from mtcars", 
+                 "Group 1 contains mpg, cyl and disp", 
+                 "Group 2 contains hp, drat and wt"), 
+               notation = "symbol")
+```
