Automated bilateral negotiation forms an important type of interaction in agent based systems for electronic commerce; it allows seller and customer to determine the terms and content of the trade iteratively and bilaterally. Consequently, deals may be highly customized (especially for complex goods or services) and highly adaptable to changing circumstances. Moreover, by automating the negotiation process, the potentially time-consuming process is delegated to autonomous software agents who conduct the actual negotiation on behalf of their owners. In this paper, we consider the problem of a seller agent negotiating bilaterally with a customer about selecting a subset from a collection of goods or services, viz. the bundle, together with a price for that bundle. The techniques developed in this paper try to benefit from the so-called win-win opportunities, by finding mutually beneficial alternative bundles during negotiations. To facilitate the search for win-win opportunities the developed techniques rely on a continuously updated model of the opponent's preferences. Several papers on multiagent negotiation have already focused on finding win-win opportunities through opponent modeling. However, these papers only consider preference relations for which the issues have independent valuations. In this paper we study the considerably harder problem of interdependencies between issues. In order to model such complex interdependencies between items, we introduce the novel concept of utility graphs. Utility graphs build on the idea that highly nonlinear utility functions, which are not decomposable in sub-utilities of individual items (such as in the seminal work of Raiffa), may be decomposable in sub-utilities of clusters of inter-related items. They mirror, to a certain extent, the graphical models developed in (Bayesian) inference theory. The idea, behind using utility graphs in a one multi-issue bargaining setting, is to provide the seller with a formalism for exploring the exponentially large bundle space, efficiently. In this paper, we show how utility graphs can be used to model an opponent's (i.e. customer's) preferences. Moreover, we also propose an updating procedure to obtain approximations of the customer s utility graph indirectly, by only observing his counter-offers during the negotiation. At the start of a negotiation process, the seller's approximation of the customer's utility graph represents some prior information about the maximal structure of the utility space to be explored. This prior information could be obtained through a history of past negotiations or the input of domain experts. (An important advantage of utility graphs is that they can handle both qualitative and quantitative prior information.) After every (counter) offer of the customer, this approximation is refined. Conducted computer experiments show that by using only a fairly weak assumption on the maximal structure of customers utility functions the updating procedure enables the seller to suggest offers that closely approximate Pareto efficiency. By using utility graphs, Pareto-efficiency can be reached with few negotiation steps, because we explicitly model the underlying graphical structure of complex utility functions of the Buyer and use it to explore the outcome space. Consequently, our approach is applicable to time constrained negotiations, or negotiations where the impatience of one of the parties is a limiting factor. Furthermore, unlike other solutions for high-dimensional negotiations, the proposed approach does not require a mediator.