much better Tab constructor