Matching logic moved to the main instead of the card object