separated object and datatype properties, plus some customization for modules