#### MIDWEST SOFTWARE, LTD., Plaintiff and Counterdefendant-Appellant, v. WILLIE WASHER MANUFACTURING COMPANY, Defendant and Counterplaintiff-Appellee.

First District (6th Division)

No. 1 — 92—0047

Opinion filed February 18, 1994.

Rehearing denied April 11, 1994.

*1031Kathleen T. Zellner and Michael D. Hemstreet, both of Kathleen T. Zellner & Associates, of Chicago, for appellant.

Wayne B. Giampietro, of Witwer, Burlage, Poltrock & Giampietro, of Chicago, for appellee.

JUSTICE GIANNIS

delivered the opinion of the court:

Plaintiff, Midwest Software, Ltd. (Midwest), filed a complaint against defendant, Willie Washer Manufacturing Company (Willie Washer), alleging breach of an oral contract. Midwest claimed it had not been paid $9,696.55 for computer consulting and programming services rendered to Willie Washer. In its answer, Willie Washer admitted that it contracted Midwest to provide computer services, but denied that Midwest had performed. Willie Washer also filed a counterclaim which affirmatively alleged that the software provided by Midwest pursuant to the contract did not "perform the functions which the parties agreed it would be capable of performing” and that this software "was written in a computer language other than that agreed to between the parties.” In addition, Willie Washer claimed that Midwest breached an independent oral contract to purchase one of its computers. Willie Washer claimed that Midwest’s breach of these agreements resulted in $200,000 in damages.

A bench trial was held on three days but over a five-month period on February 25, June 11 and July 29, 1991. The trial court thereafter awarded $4,500 to Midwest on its complaint and $88,000 to Willie Washer on its counterclaim. Midwest now challenges both the amount of damages awarded to it on its complaint and the judgment entered against it on Willie Washer’s counterclaim.

Midwest raises three issues on appeal. First, Midwest claims that the trial court erred in awarding only 50% of the work billed to Willie Washer on certain invoices. These invoices covered a period between October 16, 1989, and January 16, 1990. Second, Midwest claims that the trial court erred in finding that it breached a promise to perform a "straight conversion” of programs from Willie Washer’s first computer to its new computer system. Finally, Midwest claims that the trial court did not properly compute damages.

THE TRIAL

Because the parties disagree substantially as to what was proven at trial, we make a detailed recitation of the trial proceedings.

Joseph Gulino testified first for Midwest. He stated that he was employed by Midwest as its director of operations and had held the position for eight years. He stated that Midwest’s business was to provide software services to its customers on a time and material *1032basis and that Midwest did not repair electronic components. He indicated that Midwest programs computer systems, maintains computer system software and trains users.

Gulino indicated that he began dealing with Willie Washer in 1984 after being given work from Bob Comyn, Midwest’s president. In 1985, Gulino started working with Willie Washer’s office manager, Robert Urlakis. According to Gulino, Urlakis would give Midwest a wide range of work to perform. Gulino stated that he would also receive work from Bill Neumann, Willie Washer’s president, and another Willie Washer manager, Bill Fortney. He also indicated that he would sometimes receive work from Willie Washer through Bill Neumann, Jr., Jean Gates, and Mike Neumann.

Gulino testified that Willie Washer was using a CADO brand computer when he began working on the Willie Washer account. He indicated that the CADO computer had not been sold to Willie Washer by Midwest. Toward the end of 1988, Willie Washer purchased a Sun Microsystems (SUN) computer.

Gulino stated that one of the projects assigned to him by Bill Neumann was the job of putting Willie Washer’s original programs that had been written in the CADOL programming language onto the new SUN computer. He indicated that Midwest had not recommended the SUN computer to Willie Washer, nor did Midwest give Willie Washer an opinion as to the ability of the SUN computer to handle Midwest’s business. He stated that a man named Dean Marr from the SUN computer company recommended the SUN machine to Willie Washer.

Gulino testified as to how Midwest made the transfer from the CADO computer to the SUN computer. He stated that the "source code,” which he described as the actual programs the programmer can write, was physically moved to the SUN computer and then run through a translator product which had been purchased from a third-party vendor named Softran (SOFTRAN). He stated that this product, called "C-TRAN,” would take the existing CADOL source code and convert it to the C programming language. He said that the C source code generated by the GTRAN product was then "compiled” for use on the SUN computer.

Gulino said that Midwest had given Willie Washer an estimate of the cost of converting its programs from the CADO machine to the SUN machine. He stated that this estimate was $23,000 and that this figure was not a fixed bid, but rather, a time and material estimate. He testified that this estimate did not include work which Willie Washer requested in addition to the conversion.

Gulino indicated that there were no problems with the conversion *1033itself, but that there were problems with the speed of the SUN equipment. He stated that there was also a problem with the terminals and that they would seem at times to "freeze up.” He said that the cause of this problem was determined to be how the cables connecting the terminals were wired. He testified that the wiring of the terminals had been done by Willie Washer employees and that the manuals used by these employees were provided by SUN.

According to Gulino, the conversion of programs to the SUN machine began in the end of 1988 and was completed in March of 1989. Based upon his review of the invoices, Gulino testified that the total cost to Willie Washer for the conversion was $21,599. In response to the trial court’s questioning, Gulino testified that Willie Washer continuously requested work from Midwest in addition to the conversion.

Gulino was questioned about the eight invoices not paid by Willie Washer which totaled $9,696.55. Based upon the invoices, Gulino could not say who specifically performed the work charged. Following the court’s inquiry, he stated that it was possible that he himself had performed none of the work. He indicated that the programmers themselves provided the specific descriptions of the work used in the invoices. He testified that the invoice descriptions were not generally sufficient for him to describe what had been done, particularly in light of the passage of time. He testified that Midwest’s records would indicate who performed the actual work billed to Willie Washer, but that this information was not contained on the invoices. He also said, however, that all of the work performed by Midwest would have been done by either himself, John Gugliotta or Jerry Callahan, with minor exceptions.

Gulino testified regarding each of the disputed invoices individually and stated, with regard to each, that the work billed was actually done. He stated that he knew this to be true because he either installed the programs and/or worked on the project with Gugliotta or Callahan. He testified that the first he had heard that the work he had performed was not done properly was when he read Willie Washer’s countercomplaint.

On cross-examination, Gulino testified that C-TRAN was a product that allows the use of CADOL programs on a UNIX-based computer such as a SUN computer. He admitted that one of the things Willie Washer had hired Midwest to do was to "translate” from the CADOL language into the C language, but Gulino stated that this was part of the process employed by the conversion software. He stated that the Willie Washer computer did not run the CADOL programs after the installation of the C-TRAN product. He said *1034Midwest converted the CADOL programs using the C-TRAN program and that the output of the C-TRAN product was then "compiled” to produce "executable files.” He stated that Willie Washer’s computer ran the executable files which were derived from the C source code.

Gulino testified that he did not talk to anyone at Willie Washer about installing a second conversion program produced by SOFT-RAN called "C-EXEC.” He stated that "[t]hey didn’t want to know exactly how things worked. They just wanted them to work.” He also testified that "I never told them exactly how I was going to do something. All they wanted was results.”

Gulino admitted that Willie Washer’s employees complained about the speed of the SUN computer. He stated that he knew the problem was not the software, however, because he had people come from SOFTRAN to look at the system and that the software had run on AT&T machines, NCR machines and DIGITAL machines, all of which were UNIX-based computers like Willie Washer’s SUN computer. He indicated that the problem was either the hardware or the UNIX operating system.

Gulino was asked about problems Willie Washer was having with its "smart terminals” and "dumb terminals.” He indicated that one of the changes Willie Washer had made when moving to the SUN machine was to install several smart terminals to replace dumb terminals. He stated that he believed the slowness in Willie Washer’s computer was caused by the installation of the smart terminals but that he was not an expert with regard to the hardware. He stated that he knew Willie Washer was going to buy the SUN computer but that he did not know what specific model number. He said that he went to SUN’s offices to see its product line before Willie Washer bought its first SUN machine and indicated that SUN was a reputable company. The trial court asked whether Gulino agreed to translate CADOL to the C system. Gulino stated, "Yes, I said I could have it done.” In response to another question from the court, Gulino acknowledged that Willie Washer understood Gulino would be able to make the CADOL programs "work” on the SUN computer.

On redirect Gulino was asked why he put the C-EXEC program on Willie Washer’s computer when he had admitted that he had not received specific authorization to do it. He stated that C-EXEC was an upgrade to the C-TRAN product. He said that whenever he thought Willie Washer should have an upgrade for its computer he would do it and that was what he had done throughout his relationship with Willie Washer. He also stated that, while the programs ran slowly on the SUN computer, he knew the conversion was successful because the programs were actually working. He indicated that he *1035did not sell, install or consult with Willie Washer about the purchase of the smart terminals.

Bob Comyn, Midwest’s president, testified next. Comyn said that Joseph Gulino’s job involved preparing the invoices sent to Willie Washer by reviewing time entries made by computer programmers employed by Midwest and then checking off the appropriate items to be billed. He stated that employees of Midwest entered their time into a computer every day, although the employee who performed work for Willie Washer would not have his or her name appear on the final invoice. He also testified that the invoice descriptions were taken directly from the programmer’s entries.

Comyn testified that he prepared a spread sheet containing estimated costs for Midwest to convert Willie Washer’s original CA-DOL programs to the first SUN machine. He stated that the idea of moving Midwest’s customers away from the CADO machines and onto UNIX-based systems was something he first suggested. Because both the CADO operating system and the CADOL computer language were proprietary in nature, many of Midwest’s customers were "locked into CADO.” He stated that Chicago had only a single source for CADO hardware maintenance. He said that UNIX was a generic operating system that was becoming the standard operating system for business. He felt that the opportunity to "port” or "translate” Willie Washer’s existing programs to a UNIX system provided Willie Washer a way of getting "out from under the clutches” of the CADO distributor. He said that when he presented the various options to Bill Neumann at Willie Washer, converting seemed to be the easiest way out. He testified that Willie Washer’s system was very customized and that converting would be much cheaper than rewriting the programs.

Comyn testified that he was excited about the prospect of programming in C for Willie Washer and that Midwest was doing a lot of work for Motorola in the C language at the time. He stated that when Willie Washer decided to convert its programs, there were more C programmers employed by Midwest than CADOL programmers. He was particularly happy with Willie Washer’s choice of converting the CADOL to C "on the box.”

Comyn described the process of converting Willie Washer’s programs in substantially the same terms as Gulino. Comyn stated that the first step in the conversion process was to run the CADOL source code through the C-TRAN product which produced the C source code. The second step was to take the C source code generated by C-TRAN and "compile” it into "object code.” He stated that the final step was to "link the object code” with program libraries in or*1036der to create executable programs which the SUN computer could run.

Testimony indicated that the compiled object code was not something the programmers could work with and that modifications to the programs after the conversion had to be done by using either the original CADOL or the translated C source code. While the conversion process enabled the CADOL programs to ultimately run on the UNIX operating system, Comyn indicated that the C source code produced by the C-TRAN product was very hard to work with because it had been translated rather than originally written in C by a programmer. He stated that Midwest decided it would be best not to try to work with the translated source code when changes needed to be made to the programs, but, instead, to work with the archived CADOL source code. He indicated that this would give Willie Washer "the most bang for their buck.” He stated that the modified CADOL code could then be reprocessed through the C-TRAN product and then again compiled.

Comyn testified that the process of modifying Willie Washer’s programs took longer than it had taken when changes were necessary prior to the conversion. He stated that he was involved with the decision to stop using the C-TRAN product and to use instead the C-EXEC program. He indicated the C-EXEC program made the compiling process significantly shorter. Projects that had taken three or four hours could be completed in half an hour according to Comyn. He said that this would ultimately save the client money. He stated that when the C-EXEC program was added to Willie Washer’s machine Midwest did not remove the C-TRAN product. He testified that if Willie Washer wanted to use the C-TRAN product to modify its programs, it still had that option, although he did not believe that using the C-TRAN product was in Willie Washer’s interest.

On cross-examination, Comyn indicated that he did not tell Willie Washer that Midwest was installing the C-EXEC product. Comyn stated that he did not ever discuss technical decisions with Willie Washer. He admitted that one of the things he had told Bill Neumann before the conversion was that it was better to get off the CA-DOL language and into the C language. He also stated that Willie Washer’s programs after the conversion were not being modified in C, although he indicated that if Willie Washer wanted to make changes in C it could easily do so by using the C-TRAN product. He said that it would be "a bad choice to put them back to C, but we could put them back to C in nothing flat. The product still exists on the box.”

After a brief redirect by Midwest’s counsel, Midwest rested its case.

*1037Willie Washer’s president, William Neumann, testified first for Willie Washer. He stated that he purchased Willie Washer’s CADO computer 10 years earlier and had used the machine to do the company’s payroll, pricing, inventory, accounting, and invoicing and to store customer files. He indicated that Willie Washer began doing business with Midwest approximately a year later. He said that the programs used by the company were either standard programs that had been modified by Midwest or programs that had been written by Midwest. Willie Washer was introduced to Midwest through the salesman who sold Willie Washer the CADO machine.

Neumann testified that he did not recognize most of the charges on the unpaid invoices and that he did not himself authorize the work. He admitted, however, that other people at Willie Washer may have authorized the work and stated that he really did not understand most of the charges.

Neumann testified that there came a time when Willie Washer was running out of room on its CADO computer. He stated that CA-DOL was an "off” language and that Willie Washer wanted to be "in the main stream of things.” He said that he had lunch several times in the summer of 1988 before Willie Washer purchased the SUN computer with Dean Marr from the SUN company, and with Bob Comyn and Joe Gulino. He stated that Willie Washer depended on its computer and that he wanted to discuss the SUN machine with them. He said that dealing with Midwest was like "going to the doctor. You had such trust in these people.” He said that he relied upon them "100 percent” for all of Willie Washer’s computer problems. Neumann stated that he talked to Comyn and Gulino regarding the new computer and that he was concerned about the switch because of Willie Washer’s complete reliance on the CADO machine.

Neumann also testified regarding a trip the four men took to SUN’s computer showroom to see the machine in operation. Neumann said that Gulino and Comyn wanted to see the machine and that they approved the machine after several lunch meétings.

Neumann testified regarding the written estimate given to him by Midwest prior to the conversion. He indicated that he attended a meeting at which Joe Gulino was present. He stated that Gulino presented him various options for Willie Washer’s programs and that he decided on the $23,000 straight conversion. He indicated he believed Midwest was going to convert all of the CADO programs into C and that Willie Washer would continue to run its programs just like it did with the CADO programs, but that they would be in a different language. Neumann stated that he did not really look at the document presented at the meeting, however. He stated, "I really didn’t *1038know what it was all about. All I looked at was the bottom figure of $23,000 and they said that was the best way to go. This was on their recommendations.” He also stated that he chose the straight conversion because it would otherwise be necessary to have programmers write entirely new programs by hand. He said that this could take one or two years.

Neumann testified that the computer was delivered to Willie Washer in September of 1988 and that Midwest worked with the machine at its offices for several months. He stated that the SUN computer was brought back to Willie Washer in February or March of the following year, although he also indicated that it may have been just three or four months. He indicated that, when the SUN machine first arrived, the CADO machine was not disconnected but that Willie Washer used both machines for a period of time to be sure the new machine would work. He also testified that Willie Washer ordered 10 new terminals for the office which were installed with the computer.

Neumann testified that the new machine first ran slower than the CADO machine even though he was told by both the SUN salesman and Midwest that the computer would be faster. He stated that it was a good thing the CADO computer had not been disconnected because "we would have really had a nightmare with our equipment.” He said that at that time employees might wait 10 minutes to recover a single price. At other times the information would not appear at all. He estimated that employees who used the SUN machine were wasting an hour to an hour and a half per day.

Counsel asked Neumann why, if the SUN machine was not working, Willie Washer stopped using the CADO computer. Neumann indicated that it was a big job to try and use both machines together and that it was just "too hard to go back.”

Neumann indicated that he believed the SUN machine was "in C.” He testified that Joe Gulino was regularly working at Willie Washer and trying various things to fix the problem from July on through November of 1989. Gulino put "boards” in the various terminals but that did nothing to fix the problem. Finally Gulino told Neumann that he thought the computer simply needed more "horsepower.” Neumann called SUN in October but he was told that there were no refurbished computers available. Eventually, however, SUN called Neumann and indicated that it was having a special on an $80,000 or $90,000 computer. This machine was being offered at half price so long as Willie Washer took delivery before the end of the year. Neumann ordered the machine around November 14, 1989, and it was delivered in early December. The price was $45,675.

*1039Neumann stated that he knew that SUN was going to allow a $12,000 trade-in for the first SUN machine. He decided, however, to give Midwest an opportunity to buy the machine. He indicated that Joe Gulino and Bill Fortney from his office had a phone conversation in which Gulino agreed to purchase the first SUN computer and an associated disk drive for $14,000. When he later spoke with Comyn at Midwest, however, Comyn refused to take delivery of the first SUN computer. Neumann stated that he then stopped paying Midwest’s invoices.

Neumann testified that ending the relationship with Midwest left him without a computer programmer and that he hired a programmer named Alex DeWolf, who worked for Willie Washer for the next eight or nine months. Neumann indicated that DeWolf told him the programs on the SUN computer were not in C. He stated that after DeWolf left to take a job in Florida, Willie Washer hired a second programmer named Walt Kienzle who, at the time of trial, had worked for Willie Washer for 2 or 2½ months. Neumann stated that Kienzle’s duties involved "trying to get the programs changed over to C.” Over a relevance objection from counsel, Neumann stated that he was paying Kienzle approximately $45,000 per year. The trial court indicated that he would admit testimony as to Kienzle’s salary into evidence only upon the condition that Willie Washer later prove that all of Kienzle’s work for Willie Washer related the alleged breach by Midwest of the parties’ agreement.

On cross-examination Neumann admitted that he had received invoices from Midwest which had been routinely paid over the last eight years, although he stated that he himself did not pay the bills. He stated that "whoever had the software done would probably authorize payment.” He indicated that bills not authorized by him may have been authorized by whoever requested the work. He testified that in addition to himself, Bill Fortney and Bob Urlakis were in a position to authorize payment. He said that Willie Washer never sent Midwest anything in writing contesting a charge, but that they sometimes argued over bills on the phone. He stated that all of the work done between Midwest and Willie Washer had been done on a handshake for 9 or 10 years and that Willie Washer paid bills from Midwest based upon trust.

Neumann testified that he was dissatisfied with much of the work performed by Midwest not related to the conversion from the CADOL computer. When presented with the invoices previously paid by Willie Washer for these claims, however, Neumann stated, "It’s my own stupidity for not looking at the bills, though. I’ve got to say that.”

Willie Washer next called Walter Kienzle to the stand. Kienzle *1040testified as to his background in computer science and stated that he was hired by Willie Washer to keep its computer hardware and software running. Although Kienzle was familiar with C programming before he worked at Willie Washer, he had not been familiar with CADOL. Kienzle stated that CADOL was not a commonly used language. Kienzle stated that SUN computers were a very popular brand of computer and that SUN computers generally ran on a UNIX-based operating system.

Kienzle testified that when he was hired by Willie Washer his job was to "generally investigate what would be necessary to make sure that the system continues operating properly.” He stated that when he was hired at the end of 1990, there were "ongoing minor problems.” He testified that he "|j]ust smooth[ed] things out overall.”

Kienzle testified generally regarding computer programming. He said that the computer "source code” was that which a programmer actually would write and see on the screen. He stated that the source code contains syntax and instructions that convey a certain message. He said that while a person can actually read the source code, a computer cannot. He indicated that a computer "can only read ones and zeroes.” He explained that a process has to be performed on the source code to convert it into "executable code” or "machine language” such that the computer can actually process its task. He stated that programs could exist as either source code or as executable code and indicated that Willie Washer’s computer contained both types of programs.

Kienzle stated that when he compared the archived source code he found stored in Willie Washer’s computer to the programs actually running, the output of the programs appeared different than what he would expect. In other words, Kienzle stated, the archived source code was obsolete and would not perform in the same way as the programs that were actually running on Willie Washer’s system. Kienzle stated that because of this he was reluctant to rely upon the archived source code and that it was just safer to continue using the executable code that had been installed. He also stated that the programs running on Willie Washer’s computer employed concepts originally used for computers with less memory. The programs running on Willie Washer’s SUN computer were operating in a "nonnative environment.” By this, Kienzle meant that the programs appeared to be written in CADOL and then processed through a program or "interpreter” which generated "machine language.”

Kienzle stated that there is a difference between an "interpreter” and a "translator” and indicated that Willie Washer had the option of using either approach in running its CADOL programs. He stated *1041that the interpreter would change the CADOL source code to a form of machine language which was specific to the company that made the interpreter. He stated that he believed that the company that had created the interpreter was SOFTRAN. Kienzle indicated that Willie Washer’s programs currently running were not originating in the C language but were generally derived from CADOL and then processed through an interpreter. He said that a translator would actually change the source code of a program to another language. An interpreter, in contrast, would process the original program into machine language each time the program ran. He indicated that he believed the programs would run faster had they been processed once through the translator rather than run through the interpreter each time they were used, although he indicated that an end-user of the programs would probably not notice the difference.

Kienzle said that interpreters had fallen out of fashion and that he believed it to be a less efficient way of doing things. He stated, however, that there are various advantages to using an interpreter, including the fact that the programmer would save "compilation time.” Kienzle stated he would normally not expect to find both the translator (C-TRAN) and interpreter (C-EXEC) products on a single machine as you would normally only use one or the other.

Kienzle explained how he worked with Willie Washer’s programs when necessary. He said that when there was a problem he would translate the archived CADOL programs into C by using the C-TRAN translator. After translating the CADOL code he could then make changes to the code generated by the translator in the C language. He indicated that using the C-TRAN product had always been available to Willie Washer and described the translation process as "quite easy and almost automatic.” He indicated that when he first arrived at Willie Washer, he used the C-TRAN product to translate all of Willie Washer’s CADOL programs, although Willie Washer did not use these translated programs in the day-to-day operation of its business. He said by translating the CADOL programs he could use the UNIX debugging tools on the resulting C programs to figure out why things were not working properly. He said that this method also gave him the advantage of being able to view two different source codes— the original CADOL code and the translated C code. This was helpful because one version of the code might be more descriptive than the other. Kienzle stated that he found the original CADOL source code to be stored on the first SUN computer which Willie Washer used as a "development machine.” He said that this machine was handy for storing the CADOL source code, although it was not used for much of anything else. He said that he did his troubleshooting on the first *1042SUN machine. He said that if the first SUN machine had not been available for this purpose, he could have just as easily used the second machine.

Kienzle testified regarding several projects he had worked on since his arrival at Willie Washer. In addition, Kienzle stated that he discovered the CADOL source code that had been prepared by Midwest but had not been implemented. Kienzle ran the program through the translator and put the program on the second SUN machine.

Kienzle stated that, in his opinion, both the SOFTRAN products, C-TRAN and C-EXEC, were not designed to work in a network environment like that in place at Willie Washer. He also stated that the various work stations (smart terminals) were improperly configured. Like Gulino, Kienzle believed that the use of the smart terminals on Willie Washer’s system was part of the reason the system was operating slowly.

Kienzle testified in detail regarding bills sent by Midwest to Willie Washer which had been paid by Willie Washer. He testified that he believed many of these charges were unreasonable. The trial court later determined, however, that bills already paid by Willie Washer could not be disputed in the absence of an allegation of fraud. The court indicated that Willie Washer was barred from challenging any bills that had been voluntarily paid because there had been an "accord and satisfaction.” Counsel for Willie Washer indicated that he would not contest this ruling.

Kienzle testified that the programs on Willie Washer’s second SUN computer were adequate "to the most minimal extent.” He stated that the software required a lot of maintenance but that when it was running it did an "acceptable job.” He said that a more modern package would be more versatile. Kienzle stated the system was not meeting Willie Washer’s current desires. He stated that the programs were obsolete and that the costs of maintaining them would ultimately approach the costs of buying a new system. He stated that it would be difficult to find a software package that would perform all of the functions currently performed because Midwest’s programming had been customized for Willie Washer. He stated that the cost of new "off-the-shelf’ programs would probably be between $60,000 to $100,000. The lower end of this range he stated would be for programs that needed a lot of work. The $100,000 cost would be for programs that would require less work. He said that if he himself were to write customized programs for the SUN machine, the task might take years.

On cross-examination, Kienzle stated that he had no personal *1043dealings with anyone at Midwest and that he was hired to replace a programmer named Alex DeWolf. He stated that DeWolf may have made changes to Willie Washer’s source code but that he knew of only one or two changes that DeWolf had documented. He stated that Willie Washer’s programs running on the second SUN machine may have used obsolete concepts due to the fact that they originally had been written in CADOL.

Kienzle also provided testimony regarding bills sent to Willie Washer that were outstanding at the time of trial and that were the basis of Midwest’s complaint. Kienzle stated that he believed several of the charges on the invoices were unreasonable. These charges totalled $2,223.81.

Following Kienzle’s testimony the trial court held a discussion with the attorneys. Midwest’s counsel noted that Willie Washer had only specifically challenged $2,223.81 of the charges and suggested that his client would be willing to settle the entire matter for the difference between the amount of its complaint and $2,223.81. The trial court stated that it believed Midwest was entitled to collect on its claim, less the $2,223.81, but also indicated that the counterclaim had merit. The attorneys consulted with their clients but the parties could not settle their differences. The case then proceeded.

Willie Washer called Christian Hertzog to the stand. Hertzog stated that he was the president of Software Technologies Group, a computer consulting firm that specialized in converting proprietary software to the UNIX operating system. Hertzog testified that both the C programming language and CADOL remained in widespread use, although he indicated that CADOL was a proprietary language and was much less common. Hertzog testified that he analyzed Willie Washer’s computer in January of 1991. Based upon his review he found that the programs running on Willie Washer’s computer were not being run from the C source code, but, rather, in CADOL through an interpreter. Hertzog stated that this meant that changes in the programs had to be made in CADOL rather than C.

Hertzog stated that Willie Washer’s interpreted programs would run slower than programs compiled from C source code because each time the programs were run they would have to be transformed by the interpreter. He also indicated that the interpretation process required system resources reducing the capacity of the system overall. This meant that fewer users could use the machine at once. Hertzog stated that it would be useful for the CADOL source code to have been translated to C due to the fact that there are more programmers proficient in C programming. He said that he knew of no software package capable of allowing the SUN computer to run CADOL *1044programs directly, absent the interpreter being used by Willie Washer. He indicated that conversion to the C language using the C-TRAN product would be more desirable than interpreting the CA-DOL programs through the C-EXEC product from a performance and maintainability perspective. He indicated that using the C-EXEC product might be a better choice, however, for a programmer who was not as proficient in C as in CADOL.

On cross-examination, Hertzog admitted that Willie Washer’s computer was operating Willie Washer’s business. He said, however, that the system was difficult to maintain. He admitted that his examination of the second SUN machine would not have indicated if the original CADOL programs had been translated to C and then later deleted when the C-EXEC program was installed.

Willie Washer next called its chief operating officer, William Fortney. Fortney testified that both the first and second SUN computers performed slower than the CADO computer and that he had ongoing conversations with Joe Gulino in an attempt to alleviate the problem. He stated that Gulino believed that the hardware was the problem and attempted various solutions, none of which appeared to work. He said that the second SUN computer may have been faster than the first SUN machine, but only marginally so. He testified that Midwest had agreed that the system ought to be running faster than it was.

Fortney testified that Joe Gulino and he discussed Willie Washer selling its first SUN machine to Midwest in October or November of 1989. He said that Gulino said he would discuss the purchase with Bob Comyn and that, later in the day, Gulino called back and agreed to buy the computer for $12,000. Fortney also testified that a week later he called and offered Gulino a disk drive for the computer for an additional $2,000 and Gulino agreed to purchase this machine as well. Later in December or January, however, Fortney testified that he, Gulino and Neumann were in Willie Washer’s computer room when he jokingly suggested that Gulino drive up to the back of the building and take the computer away in the trunk of his car. Fortney indicated that the mood immediately changed and that Gulino told him that he would have to talk to Bob Comyn about the computer.

Fortney testified that he called Bob Comyn and that Comyn indicated that he had already bought an AT&T computer and would not be purchasing Willie Washer’s SUN machine.

Fortney reviewed the disputed bills and stated that he did not understand most of the descriptions of the work performed. He said that he did not specifically authorize any of the work. He testified that the programmer hired after Willie Washer stopped dealing with *1045Midwest, a man named DeWolf, was hired between January and March, but he was not sure of the exact date. Willie Washer ended its questioning of Fortney and the court adjourned.

Cross-examination of Fortney resumed several weeks later, on July 29, 1991. Fortney admitted that Willie Washer still had the first SUN computer and that this machine was still operating. He said that Willie Washer had not attempted to sell this machine. He said that when Midwest refused to take delivery of the first SUN machine Willie Washer stopped paying all invoices and began investigating what was going on. These were the invoices upon which Midwest was basing its complaint.

On redirect Fortney stated that Walter Kienzle used the first machine to do research work and that it was not used in the day-today operations of the company.

Josephe Gulino was recalled to the stand and was asked what advantages Willie Washer would have received had it chosen to have its software rewritten, as opposed to converted. Gulino stated that if the programs had been rewritten for the "specific platform,” they would run better because they would be able to take advantage of the specific features of the new programming language. He stated that main disadvantage of rewriting the programs would be the high cost. He testified that he had estimated rewriting the programs for Willie Washer to cost $183,255. He included this estimate as part of the written proposal given to Neumann.

Gulino testified as to how Midwest performed the conversion. He said that the source files were transferred from the old CADOL machine to the first SUN computer and then run through the C-TRAN compiler. He stated that the program was then tested because there may be some things which would not work properly on the new computer. The data files were then moved to the new computer and converted using a conversion program provided by the C-TRAN supplier. He stated the advantages of the process were that Willie Washer could have its old programs on the new machine without having to pay for all new programs or to retrain its people in how to use new programs. He stated that disadvantages are that the programs would run a bit slower than if they been rewritten. He said that Neumann chose the conversion because of the expenses involved with the rewrite option.

Gulino stated again that he was not involved in the purchase decision for either the first or second SUN computer. He testified that he did not give Neumann a recommendation to buy the second SUN machine. In fact, Neumann stated that he first learned of Willie Washer’s decision to buy the second SUN machine when Neumann *1046asked Midwest to take the first SUN machine. He stated that Fortney approached him in the fall of 1989 and asked if Gulino wanted the first machine. Fortney indicated that he needed to know right away because the new machine would be arriving in a week. Gulino said that later he was told that the machine was not going to be available in a week, but would be available in about three months. Gulino stated that he called Fortney and told him that he would not be able to take the machine because Midwest needed a new computer sooner than three months and that Midwest was going to buy another machine.

Gulino testified that when the parties broke off their relationship, Willie Washer’s computer was running the "C-EXEC version of the C-TRAN products.” Gulino stated that if Willie Washer wanted to go back to using the C-TRAN compiled programs, the entire change back to C-TRAN would take about 16 hours to complete. He stated that after this process "everything would be in C.” He said that if Midwest was to make this change for Willie Washer it would charge approximately $1,200 at its present billing rate.

On cross-examination, Gulino stated that most of the programs on Willie Washer’s system were not in the C language when the dispute between the parties occurred. He indicated that there were some C functions, but that the agreement between them did not require Midwest to generate C programs. Instead, Gulino stated that the agreement required Willie Washer to be taken off the CADO hardware and that this process required Midwest "as part of the process” to convert CADOL to C. He indicated that if Midwest had not converted Willie Washer’s programs they would not have run on the SUN machine at all. Gulino said that after the conversion he did not believe the SUN computer was slower than the CADO machine.

Gulino testified that Willie Washer’s computer was not running C programs, but that most computers did not run programs directly from the source code. He said that the programs were first compiled into something that the computer could understand and that this is how Willie Washer’s computer was functioning. He indicated that this was normal. Gulino said that the SUN people indicated that the first machine did not have enough "horsepower.” He denied saying this on his own or advising Willie Washer to buy a bigger computer.

Midwest called Robert Comyn in its defense to Willie Washer’s countercomplaint. Comyn stated that he suggested that Willie Washer convert its programs to the new SUN machine so that it would not have to throw away all the work that had gone into writing the CADOL programs. He said that these programs had taken six or seven years to get into their current form. He said that the C-TRAN *1047product produced something that looked like "translated CADOL and not real C” and that his programmers were working with the CADOL source code instead of the translated C. He said that there was no reason to generate the translated source code. In fact, Comyn testified that he encouraged SOFTRAN to come up with a program that would bypass the conversion step and go directly to generating executable code. He said that the C-EXEC program made a two-step process into a single step. He indicated that the C-EXEC program was put on Willie Washer’s computer in October of 1989 and noted that the bills sent to Willie Washer indicated this. These charges had been paid by Willie Washer. He also stated that, if Willie Washer wanted the programs run through the C-TRAN product instead of the C-EXEC product, the entire change back would take two days.

Comyn testified that he and Neumann met after the SUN machine had been installed at Willie Washer and that Neumann was concerned about the speed of the SUN machine. Comyn stated that Neumann was "distraught” with the help he was getting from SUN and, contrary to his earlier testimony, he recalled suggesting to Bill Neumann that he might try using the C-EXEC program. He said that when Willie Washer purchased the second SUN machine, Midwest had transferred both the C-TRAN and C-EXEC programs to the new machine and that the CADOL source code was also left on the system. He said that the programs running on the system when Midwest last worked on the machine were the CADOL source code and indicated that these programs were "converted” through the C-EXEC program. He said that the benefit of using the C-EXEC program was that it cost significantly less than preparing new C programs.

Comyn testified that when he prepared the estimates for the "conversion” he did not know about the smart terminals Willie Washer had planned to use with the SUN machine. Like Kienzle and Gulino, he believed Willie Washer’s problems with the conversion were at least in part due to the way the smart terminals were configured. He stated, however, that this was a hardware problem and said that he and his staff were "the software guys.”

Comyn stated that Midwest was required to get authorization before it performed work at Willie Washer but that the authorization process was very informal. He said that William Neumann, Robert Urlakas or William Fortney would approve new projects verbally. He also indicated that Midwest would perform work for Willie Washer whenever it received a phone call asking for assistance. He said that Midwest had done nothing for Willie Washer which it was not authorized to do. He said that in the eight or nine years the parties had dealt with one another he could not remember Willie Washer ever receiving a credit for disputed work.

*1048Comyn agreed that he had authorized Gulino to purchase the first SUN computer from Willie Washer, but stated that Willie Washer had promised it could be delivered in a week’s time. He said Midwest was in need of another UNIX computer and that when Gulino later told him that Willie Washer’s- machine might not be ready for three months, he ordered a new computer instead. He said that in December he and Bill Neumann had a conversation regarding the computer and that Neumann said "he didn’t even want to talk about it.” He testified that his last dealings with Willie Washer were in January of 1990.

On cross-examination, Comyn admitted that he may have met with people from SUN before Willie Washer purchased the first computer but he denied that William Neumann was with him. He said that he and Gulino had gone to SUN’s premises to meet with Dean Marr. He also stated that the conversion was done at Midwest’s offices without smart terminals. He said that the C-EXEC program was provided to Willie Washer without charge (as a "free upgrade”), but that Willie Washer was billed for the installation of the C-EXEC software. He admitted saying in an earlier deposition that he had not told Neumann about the C-EXEC product, but that he had reflected on the question and remembered later that he and Neumann had talked about it within the two-week period before it had been billed to Willie Washer. Comyn also indicated that Midwest deleted the source code produced by the C-TRAN product when the C-EXEC program was installed.

On redirect Comyn stated that when Willie Washer terminated the relationship it asked Midwest to provide all the source code for its programs. Comyn recommended that they not use the code in Midwest’s possession because it was obsolete. Instead, Comyn said he recommended that Willie Washer use the code that had been stored on Willie Washer’s own machine. He said that all of the programs had been stored on Willie Washer’s machine. In any event, Comyn said that he delivered the obsolete source code printouts to Willie Washer.

Midwest rested. Willie Washer then called Jean Gates, Willie Washer’s senior administrator. Gates testified that Willie Washer’s CADO computer had been used for seven or eight years. She stated that when the SUN computer was purchased to replace the CADO system, the two computers were run for two weeks to a month side by side to make sure the computer would "work the way it was supposed to.” She said that the old system was slow and that the new system needed to be debugged. She said that the new system was still slow, although it may have been a little bit faster than the old system. *1049Gates testified regarding several problems that existed with Willie Washer’s programs right after it was installed. She said that Joe Gulino worked on the problems after she had called him on the phone. She indicated that several of the problems were never properly fixed. On cross-examination Gates stated that several of these problems had preexisted the installation of the first SUN computer.

In response to questions from the trial court, Gates indicated that the problems that Willie Washer was having with its first SUN computer continued after the second SUN was installed.

Midwest recalled Robert Comyn to the stand as a rebuttal witness. He indicated that some of the problems Gates had experienced could have been the result of operator error and not the programming. He indicated that assisting the operator in using the programs was part of the "system support’’ Midwest provided to Willie Washer.

Following Comyn’s testimony, Willie Washer rested.

THE TRIAL COURT’S FINDINGS

After closing arguments, the trial court found that Willie Washer had authorized only 50% of the work billed on the disputed invoices. The court entered judgment for $4,500 in favor of Midwest.

With regard to Willie Washer’s counterclaim, the court found that Midwest was involved with the purchase of both SUN computers and that Midwest had recommended the purchase of the second SUN computer. The court found that the "straight conversion” promised by Midwest was not done, or at least not done properly. In addition, the court determined that Willie Washer would not have needed the second SUN computer had Midwest done a proper conversion. Finally, the court made a finding that Midwest had agreed to purchase the first SUN computer and an associated disk drive for $14,000. Based upon these findings, the court entered judgment in favor of Willie Washer with damages as follows: (1) $31,000 for the unnecessary costs associated with the purchase of the second SUN computer ($45,000 for the cost of the second SUN computer, less $14,000 for the value of the first SUN computer still used by Willie Washer); (2) $23,000 representing a conservative estimate of the cost necessary to properly convert the original CADOL programs to the second SUN system; and (3) $34,000 for the cost of compensating Walter Kienzle.

OPINION

The first issue we address is whether the trial court’s award of *1050$4,500 in favor of Midwest on its complaint was against the manifest weight of the evidence. In making its decision, the trial court made no specific findings but simply determined that 50% was the correct award. The court stated, "[b]ased on what I heard, I think probably the authorization was for about 50 percent of [the invoices.] There will be a judgment for plaintiff against defendant for $4500 on the complaint.”

The disputed invoices admitted into evidence contained the following information. These charges had not been paid at the time of trial:

In addition to this information, each invoice provides a very brief itemization of tasks performed and the corresponding time required to perform that task. The invoices did not indicate what specific Midwest employee performed the work.

In Illinois, a statement of account, standing alone, does not constitute proof of services rendered or proof that those services were properly authorized. (Keno & Sons Construction Co. v. La Salle National Bank (1991), 214 Ill. App. 3d 310, 574 N.E.2d 151; Wing v. Lederer (1966), 77 Ill. App. 2d 413, 222 N.E.2d 535.) In this case, however, Midwest’s witnesses reviewed the specific invoices and indicated that all the work was authorized by any one of several individuals who worked at Willie Washer. Joseph Gulino testified that he did the work himself or supervised the work that was performed.

Willie Washer recognizes this fact but argues that the trial court’s decision to award only $4,500 to Midwest is supported by the testimony of Neumann and Fortney, who each indicated that he had not personally authorized the work. However, while Neumann and Fortney testified that they had not specifically authorized the charges, they admitted that others at Willie Washer may have done so. No one from Willie Washer denied that the charges could have been authorized. Given the long-term relationship between the *1051parties, their relative experience with computers and the informal way in which they conducted business, we believe the question of "authority” to perform work under these facts really boils down to the questions of whether the type of work billed on the invoices was the type normally undertaken by Midwest, whether the work billed on the invoices was reasonably necessary, whether the number of hours charged for the work was reasonable, and whether Midwest actually performed the work on the invoices.

The trial court heard evidence on all of these questions but offered no indication of how it determined that only 50% of the charges were authorized. Neither did the court make any indication of what work on the invoices had or had not been properly performed. After a careful review of the record, we are simply unable to duplicate the trial court’s calculations or approximate its result. It is possible that the court relied upon facts or inferences that we have overlooked. Because we are unable to make the necessary review of the damages awarded, we believe the best course is to remand the matter back to the trial court with instructions to clarify and, if necessary, revise the judgment on Midwest’s complaint. We see no reason for the court to take additional evidence. See Meeker v. Gray (1986), 142 Ill. App. 3d 717, 725-26, 492 N.E.2d 508.

The second issue we address is whether the trial court erred in finding that Midwest failed to perform a proper "straight conversion.” A court’s primary objective when enforcing a contract is to ascertain and effectuate the parties’ intent. (In re Marriage of Olsen (1988), 124 Ill. 2d 19, 528 N.E.2d 684.) The intent of parties to an oral contract is ordinarily a question for the trier of fact that will not be reversed unless it is against the manifest weight of the evidence. (Ceres Illinois, Inc. v. Illinois Scrap Processing, Inc. (1986), 114 Ill. 2d 133, 142, 500 N.E.2d 1.) Review in the appellate court is not perfunctory, however, and the fact that we give deference to the trial court’s conclusions of fact does not preclude overturning the trial court’s decision when the evidence so requires. See, e.g., Keno, 214 Ill. App. 3d at 313; Chicago Park District v. Chicago & North Western Transportation Co. (1992), 240 Ill. App. 3d 839, 861, 607 N.E.2d 1300.

The evidence at trial indicated that the change from Willie Washer’s CADO system to the new SUN system could be accomplished in three basic ways. First, a programmer could rewrite the programs in the C language from scratch. The estimate prepared by Robert Comyn described this option as a "total rewrite.” These programs could then be compiled and used. As a second option Willie Washer’s CADOL programs could be processed through a translator such as C-TRAN. This option would generate a form of C source code *1052which could also be compiled and used. A third option was for the CADOL programs to be used in conjunction with an interpreter such as C-EXEC. Because C-EXEC generated a form of machine-readable code, however, it would not need to be compiled before use. There were advantages associated with each approach.

The record is clear that Neumann specifically rejected having its programs rewritten from scratch in the C language principally because of this option’s prohibitive cost ($183,255). Because the testimony indicates that the CADOL programs could not be run directly on Willie Washer’s SUN computer without being "converted,” and because Willie Washer was able to use the SUN computer in running its business, it is obvious that one of the remaining two options was employed by Midwest. The only question that remains is whether Midwest had processed the CADOL programs through the C-TRAN or C-EXEC product (or some combination of the two) when the machine was delivered to Willie Washer in March of 1989.

We think the evidence overwhelmingly shows that Midwest performed an initial conversion using the C-TRAN product and not the C-EXEC product. Both Joseph Gulino and Bob Comyn testified in detail as to how the conversion to the SUN system was accomplished using C-TRAN. Gulino testified that the C-EXEC product was not installed on Willie Washer’s machine until October of 1989 and invoices in the record support this testimony. While Neumann was dissatisfied with the ultimate results of the conversion, evidence also established that after the conversion Willie Washer was able to run its original CADOL programs, and ultimately its business, on the first SUN machine. Indeed, Willie Washer’s own witness, Jean Gates, testified that the SUN machine may have been slightly faster than the CADO machine. Both the CADO and first SUN machines were run side by side for at least two weeks before the parties decided to disconnect the CADO machine. This evidence indicates that these programs "worked” on the first SUN computer.

Contrary to the trial court’s findings, we see no evidence in this record that the conversion undertaken by Midwest was improperly done, particularly as Willie Washer has failed to offer any evidence as to how Midwest might have done the work differently. Indeed, Willie Washer’s own programmer, Walter Kienzle, stated that he had elected to continue using the software Midwest had installed to run Willie Washer’s system. He testified that when he needed to make changes to Willie Washer’s computer, he used the same conversion process first employed by Gulino. Like Gulino and Hertzog, Kienzle opined that the slowness of the system was not because *1053Midwest had performed an improper conversion, but, rather, because the C-TRAN conversion software was not designed to work in an environment which utilized "smart terminals.”

In October of 1989, however, and after the conversion was performed, Gulino and Comyn admitted that they changed the way in which the system operated when Gulino installed the C-EXEC interpreter. Again, however, the dispositive question of whether this breached Midwest’s agreement with Willie Washer turns upon whether the installation of the C-EXEC product was within the boundaries of the parties’ relationship. This is also a question of fact which we are unable to review because of the trial court’s disposition of the issues.

Neumann testified that he did not authorize the installation of the C-EXEC program. He admitted when the parties entered into the agreement he did not understand the nature of the work contemplated by Midwest and stated that he routinely deferred to Midwest’s judgment on technical matters. Indeed, in testifying as to his understanding of the contract at the time it was entered into, Neumann indicated that all he did in approving the agreement was to look to the bottom figure of $23,000. Nonetheless, Neumann indicated his frustration at the fact that Willie Washer’s computer no longer contained the C source code and there is some evidence to indicate that Midwest had promised that the programs would run "in the C language.” Gulino admitted that he told Neumann that he could have the CADOL programs translated to C. Because the trial court concluded that the conversion had not been done, it did not consider what we believe to be the central factual issues of this case, namely, whether the production of C source code was or was not a material element of the parties’ agreement.

Even if the court determined that the production of the translated C source code was material to the parties’ agreement, however, the $88,000 in damages awarded by the trial court were not reasonably related to the proof. The policy of contract damages is to place the aggrieved party in the monetary position it would have been in had the contract been performed. (Crum v. Krol (1981), 99 Ill. App. 3d 651, 425 N.E.2d 1081.) The proper measure of damages is the amount which will compensate the party for loss which either fulfillment of the contract would have prevented, or which the breach has caused. (LeFevour v. Howorka (1991), 224 Ill. App. 3d 428, 586 N.E.2d 656.) The injured party must not be placed in a better position than it would have been in had the contract not been breached, nor should it be provided a windfall. Wilmette Partners v. Hamel (1992), 230 Ill. App. 3d 248, 594 N.E.2d 1177.

*1054Willie Washer argues that the trial court’s award of damages is supported by Walter Kienzle’s testimony that it might cost as much as $100,000 to purchase software to replace Willie Washer’s outdated CADOL programs. If it is assumed that the production of the C source code was material to the parties’ agreement, however, the proper amount of damages would be the amount of money associated with Willie Washer having its CADOL source code converted to the C language, not the cost of "off-the-shelf” software. This is because there is no reasonable basis for comparing the cost of commercially prepared software specifically written for the UNIX operating system with several-year-old "converted” CADOL programs run through a translator such as the C-TRAN product. Again, the record is clear that Midwest had not agreed to write Willie Washer’s programs from scratch. This was the $183,255 option specifically rejected by Neumann.

Both Joseph Gulino and Bob Comyn testified that if Willie Washer really wanted the C source code converted from the CADOL programs, the archived CADOL source code could be run through the GTRAN product. Gulino testified that all of Willie Washer’s original CADOL applications could be processed in this way in approximately two day’s time at a cost of $1,200. Indeed, Midwest’s own programmer, Walter Kienzle, indicated that this was the exact process he used to modify the original CADOL programs when necessary. He indicated that the process was "quite easy and almost automatic.” While Willie Washer seeks to justify the court’s award by claiming that the CA-DOL source code is no longer available, testimony from both sides contradicts this claim.

Moreover, even if the CADOL source code were no longer available, Willie Washer offered no evidence that Midwest was responsible for its absence. During the course of the trial Willie Washer’s counsel specifically stated that he was not alleging Midwest had committed fraud or had sabotaged Willie Washer’s computer. By the time Christian Hertzog and Walter Kienzle inspected the machine and looked for the CADOL source code, months had passed since the parties had broken off their relationship.

Nor do we find that the trial court’s award of damages is supported by the court’s finding that Midwest would not have needed to purchase the second SUN machine had the conversion been properly performed. Again, there is simply nothing in the record to indicate that any form of "conversion” would have produced better results on the first machine.

*1055Because there is some evidence in the record supporting the proposition the oral contract between the parties required Midwest to produce the C source code, we also remand the question of the parties’ intent to the trial court. Should the trial court find that the production of the C source code was intended by the parties at the time they entered into their agreement, that Midwest was not authorized in removing the C source code and installing the C-EXEC product, and if the court determines that the testimony of Gulino regarding the cost of reinstalling the C-TRAN product was credible, the court must enter judgment in favor of Willie Washer in the amount of $1,200. This amount represents the only indication in the record as to what it would cost to regenerate the C source code from the CADOL programs by use of the C-TRAN product.

The final issue raised is whether the trial court improperly calculated damages with regard to the agreement by Midwest to purchase the first SUN machine. It is axiomatic that the burden rests upon a party seeking damages to establish not only that it has sustained damages, but also to provide a reasonable basis for computation of those damages. (Finance America Commercial Corp. v. Econo Coach, Inc. (1983), 118 Ill. App. 3d 385, 390, 454 N.E.2d 1127.) Speculation and conjecture are not proper bases for an award of damages. (Finance America, 118 Ill. App. 3d at 390.) If a party proves that it has the right to damages but fails to provide a proper basis for computing those damages, only nominal damages may be awarded. Rosos Litho Supply Corp. v. Hansen (1984), 123 Ill. App. 3d 290, 300, 462 N.E.2d 566.

The Uniform Commercial Code sets out the remedies available and the proof required for a seller when its buyer breaches a contract and refuses to accept specific goods. (810 ILCS 5/2 — 703 (West 1992).) A seller in Willie Washer’s position is afforded one of three remedies by which it may recover damages. First, it may resell the goods in a commercially reasonable manner and collect the difference between the contract price and the price on sale, plus any consequential damages. (810 ILCS 5/2 — 706 (West 1992).) Second, it may recover the difference between the market price at the time and place for tender and the unpaid contract price, together with any incidental damages, but less expenses saved in consequence of the buyer’s breach. (810 ILCS 5/2 — 708(1) (West 1992).) Third, an aggrieved seller may choose to bring an action to recover the full price of the goods, provided it makes a "reasonable effort to resell” the goods, or where "circumstances reasonably indicate that such effort will be unavailing.” (810 ILCS 5/2 — 709(l)(b) (West 1992).) In the alternative, this section also *1056allows the seller to "hold for the buyer any goods which have been identified.” 810 ILCS 5/2 — 709(2) (West 1992).

In the present case, Willie Washer failed to prove the extent of its damages under any of the relevant provisions of the Uniform Commercial Code. Walter Kienzle testified that Willie Washer continued to use the first SUN computer right up to the time of trial as a storage and development machine. The failure of Willie Washer to resell the machine precludes it from being awarded damages under section 2 — 706. While the record does support a finding that the parties agreed to a sale price of $14,000 for the first SUN computer (and its disk drive), there is no evidence whatsoever of the "market price” of the computer at the time of the breach. Damages are also unproven, therefore, under the provisions of section 2 — 708. Finally, Willie Washer failed to prove damages under section 2 — 709 as the record fails to show that Willie Washer would have been unable to sell the first SUN machine had it attempted to do so (810 ILCS 5/2— 709(1) (West 1992)), nor has Willie Washer complied with the provisions of section 2 — 709(2) which required it to "hold for the buyer any goods which have been identified” (810 ILCS 5/2 — 709(2)(West 1992)). Because Willie Washer’s proof of damages is materially deficient in some respect under each of the available theories of recovery, the trial court’s award of damages was necessarily speculative and must be reversed.

In sum, and for the foregoing reasons, the judgment of the trial court is vacated and remanded to the circuit court with directions to clarify its ruling and readjust damages in a manner consistent with this decision. We see no reason for the court to take additional evidence on remand as these parties have had a full opportunity to present their respective cases. See Meeker, 142 Ill. App. 3d at 726.

Vacated and remanded.

EGAN, P.J., and RAKOWSKI, J„ concur.