KDM Developer Guide