save product function now returns Product