split bfd.hpp from exception.hpp