it stashes an old version of the object, I've added a comment