add history class
undo/redo