update methods and rmd, recode some functions