TabListener restructoring