more functions for DataObject, started HMC class