tab refactor