deal() method refactoring