rewritten entirely bondrebridging and tested