dealing functions grouped into Dealer