Added support for Undo/Redo
Added a test case to test undo\redo
Added a test case for undo and redo