canUndo and canRedo added