publish and undo