Fixed undo/redo backend, added front end functionality