this is format version related, so pretty internal. the calls to this function should under control. but if you want to do instance checking, feel free to add it