update update method
add explain