added deal()