a tab system for angular, with a lot of pre-conditions