clean undo(), redo()
fix positioning on undo(), redo(), closes #2