advanced matching algorithms