add update logic