work in progress: implementing actions (beginning with Merge) and undo/redo feature