tcb refactored