Add BFSMulti and refactor the design.