diff --git a/DESCRIPTION b/DESCRIPTION
index 1335f80..f9231db 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -26,7 +26,6 @@
     users to construct complex tables and customize styles using a readable 
     syntax. 
 License: MIT + file LICENSE
-LazyData: TRUE
 URL: http://haozhu233.github.io/kableExtra/, https://github.com/haozhu233/kableExtra
 BugReports: https://github.com/haozhu233/kableExtra/issues
 Depends:
@@ -57,5 +56,5 @@
     sparkline
 VignetteBuilder: knitr
 Encoding: UTF-8
-RoxygenNote: 7.1.1
+RoxygenNote: 7.1.2
 Roxygen: list(markdown = TRUE)
diff --git a/R/linebreak.R b/R/linebreak.R
index 3bc0d51..d78a242 100644
--- a/R/linebreak.R
+++ b/R/linebreak.R
@@ -1,10 +1,10 @@
 #' Make linebreak in LaTeX Table cells
 #'
-#' @description This function generate LaTeX code of `makecell` so that users
+#' @description This function generates LaTeX code of `makecell` so that users
 #' can have linebreaks in their table
 #'
 #' @param x A character vector
-#' @param align Choose from "l", "c" or "r"
+#' @param align Choose from "l", "c" or "r".  Defaults to "l".
 #' @param double_escape Whether special character should be double escaped.
 #' Default is FALSE.
 #' @param linebreaker Symbol for linebreaks to replace. Default is `\\n`.
@@ -14,6 +14,8 @@
                       linebreaker = "\n") {
   if (is.numeric(x) | is.logical(x)) return(x)
   x <- as.character(x)
+  if (missing(align))
+    align <- "l"
   align <- vapply(align, match.arg, 'a', choices = c("l", "c", "r"))
   if (double_escape) {
     ifelse(str_detect(x, linebreaker),
diff --git a/man/kbl.Rd b/man/kbl.Rd
index 0249e69..06f1f37 100644
--- a/man/kbl.Rd
+++ b/man/kbl.Rd
@@ -67,7 +67,8 @@
 \item{caption}{The table caption.}
 
 \item{label}{The table reference label. By default, the label is obtained
-from \code{knitr::\link[knitr]{opts_current}$get('label')}.}
+from \code{knitr::\link[knitr]{opts_current}$get('label')}. To disable the label,
+use \code{label = NA}.}
 
 \item{format.args}{A list of arguments to be passed to \code{\link{format}()}
 to format table values, e.g. \code{list(big.mark = ',')}.}
@@ -126,7 +127,7 @@
 default setting is to put a table environment outside of tabular if a
 caption is provided.}
 
-\item{...}{Other arguments (see Examples).}
+\item{...}{Other arguments (see Examples and References).}
 }
 \description{
 knitr's kable function is the foundation of this package.
diff --git a/man/linebreak.Rd b/man/linebreak.Rd
index 55adc0a..31ecbad 100644
--- a/man/linebreak.Rd
+++ b/man/linebreak.Rd
@@ -9,7 +9,7 @@
 \arguments{
 \item{x}{A character vector}
 
-\item{align}{Choose from "l", "c" or "r"}
+\item{align}{Choose from "l", "c" or "r".  Defaults to "l".}
 
 \item{double_escape}{Whether special character should be double escaped.
 Default is FALSE.}
@@ -17,6 +17,6 @@
 \item{linebreaker}{Symbol for linebreaks to replace. Default is \verb{\\\\n}.}
 }
 \description{
-This function generate LaTeX code of \code{makecell} so that users
+This function generates LaTeX code of \code{makecell} so that users
 can have linebreaks in their table
 }
diff --git a/man/spec_color.Rd b/man/spec_color.Rd
index 74cdd1d..423d4ea 100644
--- a/man/spec_color.Rd
+++ b/man/spec_color.Rd
@@ -21,16 +21,26 @@
 \item{alpha}{The alpha transparency, a number in [0,1], see argument alpha in
 \code{\link[grDevices]{hsv}}.}
 
-\item{begin}{The (corrected) hue in [0,1] at which the viridis colormap begins.}
+\item{begin}{The (corrected) hue in [0,1] at which the color map begins.}
 
-\item{end}{The (corrected) hue in [0,1] at which the viridis colormap ends.}
+\item{end}{The (corrected) hue in [0,1] at which the color map ends.}
 
-\item{direction}{Sets the order of colors in the scale. If 1, the default, colors
-are ordered from darkest to lightest. If -1, the order of colors is reversed.}
+\item{direction}{Sets the order of colors in the scale. If 1, the default,
+colors are ordered from darkest to lightest. If -1, the order of colors is
+reversed.}
 
-\item{option}{A character string indicating the colormap option to use. Four
-options are available: "magma" (or "A"), "inferno" (or "B"), "plasma" (or "C"),
-"viridis" (or "D", the default option) and "cividis" (or "E").}
+\item{option}{A character string indicating the color map option to use.
+Eight options are available:
+\itemize{
+ \item "magma" (or "A")
+ \item "inferno" (or "B")
+ \item "plasma" (or "C")
+ \item "viridis" (or "D")
+ \item "cividis" (or "E")
+ \item "rocket" (or "F")
+ \item "mako" (or "G")
+ \item "turbo" (or "H")
+}}
 
 \item{na_color}{color code for NA values}
 
