add undo-tree

for a simple undo redo