refactored IsStraightFlush