the update method need to fix