fixed undo support