needs self.bdv in BDM.py