added DM functions