add deal logic