Seems to be working except undo/redo