implement by using mutil tabs