metaclass compare