save now returns a promise