it's worth noting that we're doing two saves for newly created objects here