implement high-card-within-rank rule
refactor