removed swap and pers. undo