changed uint32 to uint32_t. added new macros for base, abstract, derived class. added registry merge