add update logic to differentiate from create logic