fixed history undo