tab creation and movement shit