Smart compare