for variant compare