should be handled in BranchTracker