refactored deal_card method