main methods update