What does IDM do?