Combined add and update methods into save method