added tabInfo widget with unit tests + some refactoring