no need for isUpdate parameter