refer to roxygen2 and devtools