add Generic Method
update method