added support for generating object ids