optional btb implemented