add the core of BFD.