renamed preUpdate method to preSave