Added working undo, redo, save, load.