add update and SaveAndUpdate methods