Add semx and undo-tree