add tab widget, recreate undi and redo actions
add synchronization
small refactoring