adding support for creating custom data objects