add a save object function