tests pass, but not the behavior I wanted for undo/redo....
merged changes for undo/redo