tabs refactor