Lots of refactoring towards changing the TSB bevhaviour