delegated all similarity logic to pluggable strategy