merge with upstream
implement redo function
Merge pull request #3 from bennettslin/master

Merging redo function