NOVACORE TECHNOLOGIES, INC., Plaintiff,
v.
GST COMMUNICATIONS CORPORATION, Defendant.
Civil Action No. 95-12053-PBS.
United States District Court, D. Massachusetts.
September 2, 1998.*170 *171 Peter A. Johnson, Lane & Altman, Boston, MA, Harris G. Gorab, Rehoboth, MA, for Plaintiff.
Joseph F. Ryan, Lyne, Woodworth & Evarts, Boston, MA, for Defendant.
MEMORANDUM AND ORDER
SARIS, District Judge.
INTRODUCTION
This case is about a failed business relationship between plaintiff Novacore Technologies, Inc. ("Novacore"), a designer of complex, customized computer software and GST Communications Corporation ("GST"), a telecommunications company. Novacore claims that its international voice callback telephone switch system fulfilled the terms and specifications of the software licensing agreement between them and that GST acted in bad faith by depriving Novacore of an adequate opportunity to work out problems with the system before abandoning Novacore in favor of another product. GST counterclaims that Novacore failed to meet its obligations under the contract and acted in bad faith when it failed to inform GST of the system's limitations.[1] After a four-day bench trial, and an evaluation of the witnesses and evidence in this case, I order entry of judgment in favor of defendant GST on its counterclaim for breach of contact in the amount of $122,716.00 plus reasonable attorneys' fees. I find no bad faith on the part of either party.
FINDINGS OF FACT
A. The Parties
Kenneth Lee Robbins is a thirty-five year-old self-described "computer nerd," with a Bachelor of Science and a Masters degree in computer and electrical engineering from Brown University. From his first job out of school to date, Robbins has been working in computer software and systems design and development. Just a few years out of graduate school, Robbins founded his own corporation, Weather Fax, Inc., which provided real time weather information to pilots through a computer-operated system.
In 1992, Robbins sold the weather operation portion of his business, along with the trademark, and changed the name in the corporate filing to Novacore Technologies, Inc., a Massachusetts corporation, with its principal place of business in Concord, Massachusetts. From 1992, Novacore has focused on the "systems side" of business only; that is, the design of custom software for use in telecommunications, facsimile and data transmission applications.
Andre C. Dreyfuss is a 43 year-old self-described "bottom line" international businessman, with an attitude. He is "intense," "demanding," and "very difficult to deal with." Of German origin, Dreyfuss attended primary school in Brazil and received his undergraduate and MBA degrees from Cornell University and the University of California at Los Angeles respectively. Fresh out of graduate school, Dreyfuss returned to Brazil, where he founded a cable company and a wireless telephone company. Eventually, Dreyfuss sold both companies and returned to the United States. In 1992, he founded GST, a Florida corporation with its principal place of business in Fort Lauderdale, *172 Florida. GST is a provider of international phone, facsimile and data transmission services to clients on a worldwide basis.
B. Honeymoon Period
Robbins and Dreyfuss entered into their first business relationship early in 1994. At that time, Robbins was serving as Novacore's president and director of engineering. Also on the Novacore payroll were Robbins' wife, Debbie, whose responsibilities included engineering, bookkeeping and business operations tasks; Nehru Bandaru, who would become the principal engineer responsible for designing and writing the software application for the GST switch; a director of technical services and a senior design engineer. GST employees at the time included Felipe Andrade, who would become Robbins' main contact throughout installation of the system; Beth Hale, who was in charge of billing; Mike Amici, whom Dreyfuss would entrust to visit the Novacore lab in March to check on the status of the project; and John Canfield, the designer and engineer of one of the software systems then in use by GST.
Dreyfuss initially engaged Robbins to develop a fax system for GST. Novacore completed the installation of "NovaFax" in the early fall of 1994 and Dreyfuss was "impressed" with the system.
On the heels of the successful installation of the NovaFax system, Dreyfuss contacted Robbins in late November of 1994 to discuss whether Novacore would be interested in designing telecommunications software to operate the "international callback" side of GST's business. International callback enables a client in one country to make calls to another country through a sophisticated computer system which takes advantage of lower international phone rates in phone calls originating in the United States, thereby providing a cheaper long distance "callback" alternative to dialing directly from one country to another at premium commercial telephone carrier rates. Dreyfuss needed the Novacore system to operate three specific services: (1) international callback; (2) international callback with toll-free access; and (3) international callback with debit card payment.
1. The Technology of International Callback
International callback involves a computer network hooked up to a pool of telephone lines. Through a software program or "application," multiple phone calls are "switched" (i.e. routed) from one phone line to another to achieve long-distance savings for international callers. Calls are typically switched between "digital" phone lines, referred to as "Tls." These lines are leased from various telephone companies and are capable of carrying up to 24 simultaneous phone conversations per personal computer. Calls may be switched within a T1 or between one T1 and another T1.
The callback is initiated by the client, who calls into GST's headquarters and hangs up after the first ring, indicating a desire for a callback. Upon receiving the callback (at the cheaper U.S. rate), the client is required to respond to a "voice response script" (i.e. voice prompt), which directs the caller to key in a destination phone number. The system then dials that number and completes the call.
International callback with toll-free access is equivalent to international callback except that the caller does not hang up after dialing into the system; the computer answers the call instead.
International callback with debit card payment allows a client with a prepaid account for international callback or toll-free access to complete a call so long as the client's debit card indicates a positive account balance. Throughout the duration of the call, the system subtracts the amount charged from the client's account.
The International callback process involves two "legs" or routes to ultimately connect the caller to some "remote" (i.e. foreign) location. Leg A is initiated when the client dials up the number which is an exchange at GST's headquarters in Ft. Lauderdale. Because the client hangs up and does not actually complete the call, no charge is incurred. The computer searches the database for the identity of the client, chooses a phone line from among a pool of different lines, and completes *173 the first leg of the call by calling back the client. As Leg A is initiated from GST in the U.S., the client benefits from a rate of up to four times lower than the call would cost were it a directly dialed international call. This is because the cost to dial into the United States is much greater than the cost to dial out from the United States.
Leg B of the call is initiated when, upon receiving the callback from GST, the client responds to the voice prompt by dialing the destination phone number, much like a calling card process. At this juncture, the computer again chooses a phone line from among a pool of different lines, dials the destination phone number and bridges Leg A and Leg B together, completing the switch and connecting the client with the intended receiver, thereby eliminating any direct dialing.
Just how the computer chooses which line to use from among a pool of lines throughout the two legs of the phone call is referred to as "least cost routing" or "LCR." The pool of telephone lines will typically include both T1s and private "analog" lines (which carry only one conversation at a time), with user costs set by telephone companies for any given destination number.
2. A Patchwork Quilt
Dreyfuss had been using several systems in tandem to operate GST's international callback, debit card and billing programs. GST was still operating its original system called "Special Operator," that had been custom-designed by a consultant to GST, Jon Canfield, back in 1992. The Special Operator performed reasonably well in operating international callbacks at the outset of GST's operations, and Canfield continually upgraded the system at Dreyfuss' request (e .g. providing shortcut prompts by means of the "*" and "#" keys). The Special Operator system did not, however, operate debit card access well and was only able to accomplish "partial" LCR on Leg A of the callback. As GST's client base expanded, Dreyfuss envisioned a more sophisticated system to meet his growing business needs.
Dreyfuss thus found himself "always looking for a new product" and "for [a] better system," purchasing one system after another, and retaining a number of systems which demonstrated the ability to accomplish discrete tasks well. By 1994, GST was supplementing the Special Operator system with at least three other systems. For example, GST used the Special Operator to handle most of the callback traffic, while the "Grant" system was used in connection with the debit card accounts. While not completely satisfied with the performance of any of these systems, Dreyfuss paid for each one in full.
By late 1994, GST needed to increase the Special Operator's capacity to handle callback traffic. When the system became overloaded, it would result in lost calls or need to be reset. The latter problem resulted in a loss of all pending traffic on the system. Dissatisfied with using a hodge-podge of systems to operate GST's callback services, Dreyfuss went in search of a system that could replace all the systems he currently had in use.
Through attending various trade shows, Dreyfuss became interested in a telephone system by National Applied Computer Technology ("NACT"), a standard, off-the-shelf product. Based upon the representations of NACT that it could deliver a "fully featured `can do' switch" as an easy "upgrade path" for GST's existing systems in terms of capacity and speed, GST contracted for the NACT system in November 1994 and made a down-payment of $37,800.
After NACT installed the system in late November, Dreyfuss made additional payments through December 1994. By January 1995, the NACT system had become GST's primary system for callbacks. The transfer of traffic from the Special Operator to the NACT system was, for the most part, successful. Dreyfuss estimated at trial that at least 80% of the traffic was carried over. Still, the NACT system experienced problems and the Special Operator and Grant systems were not abandoned. For example, the NACT system was unable to handle GST's private direct line to Brazil. As a result, that traffic had to remain on the Special Operator system. The NACT system was also unable to operate analog lines for toll-free access, thus limiting the system's *174 overall ability to accomplish LCR. Additional problems included "dead air" time, disconnections, confusing prompts, and crude billing print-outs. NACT made representations to Dreyfuss that the problems would be addressed with an upgrade for the system.
Dreyfuss paid NACT approximately $90,000 by December 1994, but did not make any payments from that point forward. Having become increasingly frustrated with the limitations of the system, Dreyfuss refused to pay NACT until the new upgrade proved successful. He nonetheless continued to use the NACT system while withholding payment through June 1995. NACT had sent a letter to Dreyfuss in May 1995 threatening to repossess the system if GST did make payment of $148,563.80, the outstanding balance on the contract, 120 days overdue. Ultimately, GST and NACT settled their score out of court: GST did not pay the outstanding balance and the system was removed from GST's premises during the first week of July.
3. Enter Novacore
Robbins believed that he could "build a better mousetrap" that would address all of GST's needs. Dreyfuss expressed to Robbins that LCR was of the "utmost importance" to him in gauging the success of a new system. Robbins represented that he could achieve LCR by utilizing the hardware that was currently in use by GST to operate one of its existing systems.
In late 1994, Dreyfuss made an offer to Robbins to work for him at GST but Robbins declined. Robbins counter-offered to subcontract his services to operate a system from Novacore's headquarters in Massachusetts, but Dreyfuss likewise declined. By January 30, 1995, the two ultimately agreed that Robbins would design a system that would operate out of GST's Ft. Lauderdale office, and agreed upon the general terms of a contract. With a $15,000 deposit in hand, Robbins embarked on the Novacore project immediately. From that point forward, Robbins would track the progress of the project in an orange spiral notebook, recording "most things of significance," including problems he encountered, ideas and solutions he devised to address those problems, and communications with Dreyfuss and GST employees regarding the same.
In March of 1995, the final "Software System License Agreement" ("Agreement") was signed and sealed, incorporating the specifications of the system and a timetable for the project's completion. At this time, Dreyfuss made another $15,000 payment to Novacore. The Agreement is fourteen pages in length, and incorporates two appendices detailing the respective obligations of the parties. Under its provisions, Novacore would be responsible for the design and installation of a telephone switch to operate GST's international callback, toll-free access and debit card services, as well as for the design of billing software for debit card and non-debit card accounts. The switch would support LCR. The switch and accompanying billing software were to be delivered and operational by April 30, 1995 at a total cost of $140,000 (inclusive of the two $15,000 down payments). Novacore would provide a twelve month software support service that would begin on the date of installation, to be calculated as 15% of the contract price (not including expenses), with payment due within thirty days of installation. A charge of $15,000 per additional remote software license for use of the software at remote sites, with a commitment of four remote sites to be purchased within ninety days of the initial installation date, brought the total cost of the project to $200,000.
Because Dreyfuss was very eager to complete the project as soon as humanly possible, he also initially offered a bonus of $40,000 for the work to be completed by February 28. Acknowledging that goal to be unrealistic, Dreyfuss ultimately revised his offer to $20,000 bonus for the work to be completed by April 6. The "Terms Of Payment" provision in the final contract thus provided:
The sum of $15,000.00, will be paid immediately as a down payment. An additional sum of $15,000.00 will be paid by March 15, 1995. The sum of $40,000.00 will be paid upon delivery. The balance of the system price, $70,000.00, will be paid within 30 days of the delivery. Shipping, installation/training fees, travel and expenses and *175 other mutually agreed upon expenses will be invoiced separately from the system, and will be due within thirty (30) days of the invoice date.[2]
Ex. 61, Agreement, ¶ 2. GST would be responsible for providing all hardware necessary for the installation and operation of the system and assume the cost of any commercial third-party software licenses that became necessary for completion of the project.
C. Great Expectations
The NACT system was GST's primary switch for international callbacks at the time the Novacore project went underway in January of 1995. Upon entering into contract with Novacore, Dreyfuss "didn't know exactly the architecture of the NACT system" and his knowledge of computer systems was "not that technical." Dreyfuss related to Robbins the limitations of the NACT system as he understood them, and Robbins represented to Dreyfuss that he could deliver a system that would address those limitations. Robbins also conveyed to Dreyfuss, however, that there would be initial "bugs" in the system, because unlike an off-the-shelf "turnkey" system which is completely operational at the flip of a switch, custom-designed software takes time to be installed and integrated into an existing system, through modifications on the applications as unanticipated problems arise.
The two men understood that the ultimate goal was to eliminate the need for any of GST's existing systems by transferring all callback traffic, debit card accounts and billing programs to the Novacore system. Dreyfuss' bottom line "acid test" was for the system to demonstrate the ability to take the "full load" of callback traffic (i.e. 90% or more) from the get-go and operate without major problems for a thirty day billing cycle, culminating in an accurate printed bill which would reflect the system's success. Dreyfuss incorporated this expectation into the licensing agreement, which reads: "It is recognized that a full billing cycle will be required in order to exercise all aspects of the software."
1. Software Design
While Robbins oversaw the entirety of the project, he delegated the software-writing tasks. He designated Nehru Bandaru as the software engineer with the primary responsibility for writing the telephone switch portion of the software. Bandaru holds a Bachelor of Science and a Masters degree in computer science, and had worked for a number of computer companies prior to coming to work for Novacore in late 1994. He had written several computer programs in his work experience and was "quite the software expert" in Robbins' estimation. Bandaru was, however, new to telephone callback technology and had never written a telephone switching application prior to the GST project. Robbins trained him on the nature of telephone callback and the application. Bandaru estimated that the software application would take between three and six months to write.
Robbins subcontracted the task of writing the billing application to Andre Pilevsky. Pilevsky is President of CyberTech, Inc., a computer firm based out of New Jersey. While writing the billing software, Pilevsky sought greater responsibility from Robbins over the development of the software, specifically with respect to performing "system level" testing. Robbins insisted, however, that testing and integration would be his responsibility alone.
Part of the billing software was written in Microsoft Access. Because no one at GST had any experience using Microsoft Access, Robbins thought it worthwhile for GST to hire an expert in the program. Based upon job qualifications specified by Robbins, Dreyfuss hired John Elliot for the job.[3]
2. Hardware Problems
According to the terms of the licensing agreement, Dreyfuss was responsible for *176 providing Robbins with the hardware onto which the software would be loaded and tested prior to shipment to GST headquarters for installation in April. Dreyfuss and Robbins understood that the hardware to be provided by GST was the same hardware that the Special Operator system had utilized; that is, a number of personal computers ("PCs") which would have phone lines plugged into them for operation of the switch software. The PCs were uniform in their capacity to handle 24 simultaneous conversations.
Robbins expected that the hardware would arrive at the Novacore lab in operable condition and in a timely manner for development and testing. The first two PCs that Robbins received from Dreyfuss in early February, however, were improperly packaged, and in a state of disrepair. These were not two of the twelve that would ultimately be used to operate the switch, but rather, were provided to Robbins for use in developing and testing the software pursuant to the terms of the contract. Because both were inoperable upon arrival, each needed to be taken apart and reassembled by a Novacore technician. This placed extra stress on the project's timing and caused Robbins to incur unanticipated labor costs.
Despite explicit instructions from Robbins as to how to package and ship the remaining PCs under the contract to ensure their protection, the hardware continued to arrive at Novacore in need of repair. It was not until late May that the last of hardware arrived. According to Robbins, of the twelve PCs, not one arrived in pristine condition and two-thirds had substantial defects. Robbins expected Dreyfuss to send all twelve PCs to Robbins within the same shipment, though no such requirement was specified in the contract's provisions and Robbins knew that GST was still using a number of the PCs to run the Special Operator system.
Robbins' installation and testing plan was to load the software through the network to all twelve computers at once. With piecemeal arrival of the hardware, he was forced to load the software several times over and settle for testing each copy of the software on individual computers, rather than test the entire integration with the twelve PCs operating at once.
3. Battle of the Faxes
By March 17, 1995, Robbins represented to Dreyfuss that all of the software was written and that testing had been initiated at the lab. On March 24, Dreyfuss sent GST employee, Michael Amici, to Novacore's headquarters to check on the status of the project. Amici reported back to Dreyfuss that he did not see the switch software "in actual use" but rather "only on paper" and that the billing software was "incomplete" with no evidence of interaction between the switch and the billing cycle or any printed bills.
On March 27, Dreyfuss faxed a memo to Robbins outlining his concerns about the status of the project. He reiterated that "least cost routing is of utmost importance" and expressed his fear that Robbins would not be able to meet the early bonus deadline because Amici had not seen the switch in operation and the billing software had not been completed by this time.
Robbins responded by fax that same day. He reported that international callback and toll-free access calls were being placed using LCR. While Robbins acknowledged that none of the software was actually demonstrated for Amici during his visit, he explained "I took an approach of showing [Mike] the system from the bottom up so that he would have a solid understanding of the system architecture and basis. As a result we did not have time to show him some of the highest level features (including making a call!)." Robbins also reported that the "meat" of the billing system was completed. He made this representation having seen a first draft of the billing software from Pilevsky on March 14, at which time he communicated to Pilevsky what Robbins vaguely described at trial as a "number of issues" and "areas for improvement" that needed to be addressed. Robbins had not yet actually tested the billing application.
Robbins also reminded Dreyfuss in that fax that he still needed the remaining PCs (only three or four had been received by this *177 time) in order to complete the software load and test the entire integration prior to shipping the system out to Florida, and that he was also still awaiting receipt of GST's client database from the NACT system, so as to be able to convert it to a format that would be usable for the Novacore system at the site installation. The upshot, for Robbins, was that he was unwilling to ship any computers to Dreyfuss as of March 27. Robbins instead asked that the bonus deadline be extended two weeks, until April 15, pursuant to paragraph 9 of the contract, which states in relevant part:
Novacore shall not be liable for any ... delay in delivery by Customer of any required hardware .... The scheduled delivery date shall be extended by a period of time equal to time loss of any such delay. The cutoff date for the early delivery bonus shall be extended if and only if a delay in delivery is a result of any action or inaction by Customer.
Ex. 61, Agreement, ¶ 9. Robbins did not receive any response from Dreyfuss.
By April 6, the bonus date specified in the contract, Robbins believed he had successfully completed lab testing on the three or four PCs available to him. He was still not inclined, however, to ship them to Dreyfuss at that time. In order to test LCR, he believed that the optimal response would be derived from all twelve (as opposed to just four) computers sending their respective lowest costs over the network to be "voted on" by the PC connected to the trigger line of the central billing computer. While Robbins insisted that the four he had lab tested could have been shipped at that time, he felt strongly that he wanted to test at least six together to make sure there were no "gotyas" or quirks in the software prior to shipping the PCs to Florida.
Robbins thus faxed a memo to Dreyfuss on April 11, explaining that while "the software is ready" and "the hardware we have had in hand long enough to assemble, test, load and test is ready (6 nodes plus the server)," he would prefer to wait until he successfully tested the software with all twelve PCs in operation prior to shipment.
Dreyfuss did not grasp why piecemeal arrival of the hardware to Novacore should cause delay for installation and on-site testing of the system. He volleyed back to Robbins, with a handwritten notation and a fax expressing his expectation that eight or nine PCs would be working upon installation.
Robbins ultimately phoned Dreyfuss that day to make clear that due to hardware problems, a maximum of six PCs could be shipped, and the two ultimately agreed on that number. Only a small volume of traffic (four or five simultaneous conversations) had been tested on T1 lines at the Novacore lab prior to shipment of the PCs. Had the six that Robbins shipped for the first installation effort demonstrated the ability to take on the full load of callback traffic over the course of a complete billing cycle, Dreyfuss would have paid Robbins the early bonus.
D. Installation, Testing and Integration
1. An Omen
On April 14, 1995, Robbins flew down to Ft. Lauderdale for the installation of the switch. He was accompanied by Nehru Bandaru, who had never before seen GST's operation. On the eve of installation, when Robbins and Dreyfuss met to discuss the installation plan over dinner. Robbins realized that the Novacore system would not accomplish LCR as Dreyfuss had envisioned it wouldthat is, to perform optimal LCR on both legs of the call. Robbins explained to Dreyfuss that this was due to limitations of the hardware that GST was providing under the contract. He made clear that on Leg B of the call, with twelve standing PCs, a call could only be switched among phone lines plugged into the same PC because there was no "pathway" to allow calls to be switched among the phone lines plugged into all twelve PCs.
Robbins also realized that night that he and Dreyfuss had different conceptions of what the debit card rating application was to accomplish. But unlike the system's capability to perform LCR (which Robbins viewed as "optimal," given the limitations of the hardware specified under the contract), Robbins *178 believed he could re-write the debit card program to Dreyfuss' satisfaction.
Dreyfuss indicated to Robbins that he had a piece of hardware called an "Excel Switch" that he had bought but had not used in connection with a prior system. The Excel switch is one large piece of metal which is capable of having multiple phones lines plugged into it, thus allowing for lines from several PCs to be switched without limitation. Robbins and Bandaru, familiar with the Excel switch, believed that it could serve as a bridge between the Novacore software and the computer network by having all the lines from the twelve PCs plugged into it, thereby maximizing LCR for GST's services. Robbins expressed to Dreyfuss that Novacore could design the low-level software application for the Excel switch or purchase it from a third party supplier.
Dreyfuss and Robbins discussed the potential of incorporating the Excel switch into the Novacore system so that a phone line plugged into one of the twelve PCs would operate as if it was plugged into any of the twelve. They also discussed the cost and time it would take to integrate the switch into the system. Robbins estimated that it would take another $50,000 and two additional months worth of engineering. Dreyfuss' interest was piqued, but Robbins cautioned him "let's walk before we run, that's a feature enhancement we should certainly look at." Robbins was intent on installing the system with the hardware they had already agreed to use pursuant to terms of the contract. Dreyfuss felt assured as of that April meeting that Robbins would provide optimal LCR one way or another.
2. Initial Installation Efforts
During the week of April 17-22, Robbins attempted to transfer traffic to the Novacore system. While the system was able to handle light callback traffic on the analog lines, it could not handle the full traffic load (i.e. up to 24 conversations simultaneously) on a single T1 line. When a T1 experienced a moderate to high volume of traffic, the system would "freeze," or "crash", clients could not access the system, and calls would no longer be processed. At best, the system could handle a dozen calls at a time. Each time that happened, the traffic would be relocated back onto the NACT system. Robbins denied that the "system" as a whole experienced crashing throughout that week; he insisted that only individual PCs, due to hardware problems, crashed periodically. Robbins attributed the lack of success of the first installation effort to the malcondition and staggered shipment of the hardware supplied by GST, as well as unanticipated problems with the electrical power source and a less than ideal working environment (i.e. overcrowded workspace, poor air conditioning) at the GST site.
Robbins acknowledged, however, that disconnections, or "cut offs" were "a significant functional issue" and that the debit card software "needed reworking." For example, unbeknownst to Dreyfuss at the time, the debit card application was not yet programmed to handle "real time" billing of debit cards, a feature necessary for the proper running of the billing software.[4] Moreover, while testing was done on real data from the GST data base for international callback and toll free access clients, live traffic was not successfully carried over from the NACT system.
As for billing, simulated computer data was used for the testing of Pilevsky's billing program. While Robbins attributed this to Dreyfuss' refusal to provide Robbins confidential information of GST's data base, the billing software was not completed. Just one week prior, in a letter dated April 9, Pilevsky *179 wrote to Robbins concerning the status of the billing software: "I have had no time to test this product .... As far as I am concerned this product is completely untested .... I do not think that this product should be installed live without at least several weeks of thorough testing .... It is risky to go live with it as is, and I want to make it clear that I am against it." Despite this admonition, Robbins was satisfied that both the telephone switch and billing software were ready. Robbins' project notes make no mention of testing of the billing software between 4/6/95 and 4/22/95, and Robbins admitted that any simulated testing he had performed on the billing software was "sanitized" in that it generated the expected volume of information, but did not necessarily predict an integration of the system with GST's actual data base.
Beth Hale was present during some of the testing of the billing software that week. She recalled that because the system could not handle a single T1 line with a high volume of live traffic, only a "small fraction" of traffic could be used for test billing. Moreover, the printing of bills for one country would take hours at a time, and a "little red box" would appear on the screen which said "please do not use the system because bills are being printed." Each time the box appeared, customer service personnel could not add clients, make changes or remove clients from the system.
After experiencing many crashes of the system throughout the week of installation, Robbins wrote to Dreyfuss on April 24 recommending that the hardware be replaced. Dreyfuss refused. Because Robbins had represented that six PCs had been tested and were fully operational at this point, and because the same PCs that were supplied to Robbins had been used with the Special Operator system, Dreyfuss wanted to see the "proof in the pudding" before investing in whole new and improved hardware.
Robbins returned to the site on April 25th, this time alone. His goals were to continue the process of moving data and client information from the NACT system to the Novacore system, to continue testing, and to add more phone lines to the system. As of April 28th, when Robbins left the site, additional phone lines were plugged into the system. While Robbins characterized the system as carrying a "modest volume" of test phone call traffic, the system continued to crash when it carried between eight and twelve calls on any give T1 line. Robbins did not dispute that GST was still handling the vast majority of its traffic on other systems, primarily the NACT system.
With regard to billing, the system was experiencing similar problems, hindering computer access by other GST employees. Hale recalled that bills were being priced and calls were being calculated by the computer, but no bills were physically being generated. Moreover, the "billing run" was for one country at a time, even though GST had clients from approximately forty different countries.
3. Subsequent Efforts
Throughout May, Robbins continued to work tirelessly on the system from the Novacore lab,[5] at nights and on weekends, but with limited demonstrable success. Robbins acknowledged that the problems the Novacore system was experiencing "weren't insignificant" and that each time traffic was rechanneled through the NACT system, GST service would be disrupted, causing problems for GST employees, customer service representatives and clients alike. Robbins recalled that some time in May he had instructed Andrade to move some heavy traffic over from the NACT system to the Novacore system, but that by the end of the test, he had Andrade move traffic back to the NACT system because the Novacore system could not carry a high volume of calls without resulting in cut offs. Robbins could not recall ever carrying over the heaviest usage line, a "517 line" to the Novacore system. The reason he was not comfortable transferring over the bulk of NACT traffic was because there were "known issues" or "first order bugs" (e.g. cut offs, "cross talking" or "party line" effect) that he still wanted to rectify before doing so.
*180 From May 23 through May 25, Robbins returned to GST to conduct three or four training sessions for the Novacore system. Robbins was frustrated that Andrade, who was the head of communications at GST, did not participate in the training sessions. Robbins also felt that the $40,000 payment for "delivery" of the system under the contract was long overdue.
On May 25, 1995, Robbins sent a handwritten note to Dreyfuss stating that he had discovered that the call cut offs were related to a hardware problem with "driver faults." By fax on May 28, Robbins "optimistically" reported "I think that we have worked around the driver problem." He explained that the driver, which was supplied by a third party vendor to Novacore, had a "risky design," and that he could remedy the problem by adjusting the software application to compensate for flaws in the driver. On June 1, however, Jon Elliot faxed Robbins a memo that he experienced a disconnection the night before, and then was unable to access the system. Robbins responded that the failure was likely due to his starting and stopping the system remotely to test "new software." Robbins' May 31 project notes indicate that he was running tests on the billing program.
Contrary to Robbins' May 28 fax that cut offs would be rectified once he addressed the driver problem through modification of the software, the problem persisted through to the end of the summer. Moreover, in addition to cut off complaints, clients reported experiencing dead air time, crosstalking, callbacks not being returned, pin numbers not being accepted, and calls not being placed even when pin numbers were accepted. This resulted in the loss of longstanding clients who ultimately canceled service, as well as potential clients in bidding negotiations with GST.
To be fair, GST also lost clients serviced by the NACT system, some of which overlapped with the clientele serviced by the Novacore system. Robbins did not dispute, however, that the problems on the Novacore system were distinct from those occurring with the NACT system. The Novacore system experienced cut offs in the main, whereas the primary problem experienced by the NACT system was dead air time. Repeated complaints regarding cut offs were registered by clients from Brazil, Bolivia, Uruguay and several other countries.
E. Enter PCM
After witnessing the repeated failed attempts to transfer traffic from the NACT system to the Novacore system, Andrade suggested to Dreyfuss some time in May that they introduce another piece of hardware into the office to compensate for the problems they were experiencing with the Novacore system. He suggested doing so because the upgraded software supplied by NACT in May did not address the problems they were having with the private lines and the Novacore system still had not demonstrated the ability to take anywhere near the full load of traffic on the T1s.
Andrade checked out the PCM system sometime in early to mid May. PCM provides a standard off-the-shelf software product that incorporates the use of an Excel switch into its design. Dreyfuss received a quote on the system May 17. On May 31, Dreyfuss faxed Robbins a list of "Excel Application Developers," with a written notation "here's the list of companies that should help you/I shave the 2 months/50K off the LCR-Excel switch. Please call them to find the best fit for your system." Dreyfuss circled two companies on the list one of which was PCM and provided contacts for Robbins to call. Dreyfuss purchased the PCM system on or about June 6, but did not notify Robbins of that decision.
Upon purchasing the PCM system, Dreyfuss did not know whether he would ultimately replace the Novacore system. Initially, his plan was to "front end" the Novacore system as the interface between the client and the switch and use the PCM system to do the actual connecting and disconnecting of the lines as the main switch traffic handler. Both Dreyfuss and Andrade believed that the Novacore system provided a "good interface" with the clients (e.g. in terms of voice prompts). Because PC-based systems are easier to program, it would be easier to interface with a client through the Novacore system when changes needed to be made *181 than by programming the PCM system to do so. Just as Dreyfuss had retained the Special Operator and Grant systems to supplement the NACT system, so he thought he could use the Novacore and PCM systems in tandem. It was not Dreyfuss' intention to retain the Novacore system without paying for it only long enough to rid the PCM system of its bugs.
The PCM was installed and operational on June 26. In a matter of hours, the T1s were taken out of the NACT system, plugged into the back of the PCM system, and 100% of the traffic that had been on NACT was successfully transferred to the PCM system what is known in the industry as a "flash cut over." The system took the full load and Dreyfuss was servicing all clients that were on the NACT system through the PCM system. Dreyfuss believed that had the PCM system not been operational upon the installation of the system, he "would have been out of business" because the Novacore system could not handle the heavy T1 traffic and pursuant to its settlement, NACT was taking back its system the first week in July.
The PCM system experienced some problems, to be sure, including several crashes. True to form, Dreyfuss made the problems known through a barrage of faxes and memos to PCM representatives expressing his dissatisfaction with the system's operation.
The difference, Dreyfuss maintained, between the PCM and NACT systems on one hand, and the Novacore system on the other, was that the PCM and NACT systems took on a substantial load of calls from the get-go, whereas the Novacore system never demonstrated the ability to take more than ten or twelve lines before crashing. The NACT and PCM systems took on a "good load" of the traffic, whereas the Novacore system did not. Moreover, while there were numerous crashes on the PCM system, they did not last more than an hour and then the system would be up and running again. Once problems were identified and addressed, those same problems did not recur. Dreyfuss gave PCM three months to work out such problems in the system.
The PCM system Dreyfuss purchased in June of 1995 has remained in use to date, and Dreyfuss has since bought a second PCM system as a backup. The two are currently working in sync, though only one is needed to take the full traffic load.
F. Dis-Integration
By the first week of June, the last of the PCs was installed and Robbins testified that the testing phase had been "exhausted" and that the system was "ready to run." He acknowledged that the Novacore system had never actually demonstrated the ability to take on the full load of traffic, but insisted that was because "the customer [Dreyfuss] never elected to put the phone lines on after I asked them to," despite repeated indications by Robbins for the go-ahead.
On or about June 7, Andrade, who was friendly with Robbins, called Robbins after work and spoke with him for an hour to inform him that GST was "seriously looking at the [PCM] switch" and to urge him that "it was about time that he should throw in the towel." Andrade called Robbins in confidence; he did not inform Jon Elliot, who was meeting with PCM at the time and on his way over to Novacore soon after. Dreyfuss had instructed Elliot to check on Novacore's billing program because the PCM system was not equipped for billing.
By fax on June 8, Robbins reported that "the hardware and software are ready to begin a final cut over of traffic." He qualified this statement, however, advising Dreyfuss that "[t]his is not to say that you should drop the safety net of your existing system until we are known to be stable, but we do need to ride out some of the problems that will arise from any transition ...." Robbins was aware that GST was under "substantial pressure" to remove the NACT system at this time and that it was not a viable option for GST to keep the NACT system running as a backup system for an indefinite period of time. Upon receiving Robbins' fax, Dreyfuss had no confidence that the system was going to work. He did not want to jeopardize existing clients by attempting the cut over to the Novacore system, and had no intention of making additional payments at that time.
*182 In late June, Hale attempted to bill the small percentage of live traffic handled through the Novacore system, while the majority of traffic was maintained on the NACT system. The Novacore system produced inaccurate bills, and more significantly, produced billing files that did not match the actual printed bills. As a result, GST was unable to retrieve funds from clients' accounts to get payment for their services. Dreyfuss informed Robbins that GST was withholding payment because it could not collect money from its customers due to errors in the billing software.
In June 21, Robbins faxed Dreyfuss a memo stating "I've reached my limit with these games and your tactics" and informed Dreyfuss that Novacore considered GST communications to be in breach of its payment obligations for delivery of the system. That same day, Dreyfuss authorized payment of $14,432.12 to Novacore for certain expenses. On June 23, Robbins again faxed Dreyfuss, insisting on payment of the outstanding $40,000 payment due upon delivery of the system, which Robbins dated back to April 14, the on-site installation of the system. Dreyfuss responded to Robbins' fax in kind, stating that "delivery" in the contract was specified as "the full billing cycle." He nonetheless authorized the $40,000 payment to Robbins that same day. At this point, Dreyfuss still believed that he would be able to run the PCM and Novacore systems in tandem, and had no intention of "writing off" Robbins, even though the Novacore system was still carrying only light traffic, experiencing problems with debit card access and producing inaccurate bills.[6]
Meanwhile, Robbins and Hale were engaging in a finger-pointing match regarding the source of the problems with the billing software. Hale complained of problems with the "zap files," which are files created by the billing software and "zapped" (i.e. via computer) to a bank to automatically debit a client's account for the phone call (i.e. in lieu of sending the customer an invoice). Robbins believed that the body of Hale's complaints reflected a series of miscommunications and "second order" problems, but not fundamental billing inaccuracies or mismatches between the billing files produced to "zap the bank" and printed bills. Moreover, he believed John Elliot was "incompetent" to deal with simple hardware problems and ultimately "sabotaged" the billing software by changing the data base, the source code and other components of the software.
On July 7, Robbins again faxed Dreyfuss seeking payment, this time on the outstanding $70,000 invoice for having "fulfilled all of the requirements" of the contract. On July 13, having received no further payment, and having received numerous complaints from GST staff regarding the functioning of the system, Robbins sent Dreyfuss a letter to "set the record straight" and to defend himself against the "shotgun of complaints raised with the system" by Dreyfuss and GST employees. It was not until July 10, when he dialed into the Novacore system only to discover that the specific phone number he had been using for testing had been moved over to another system, that he learned that GST was using the PCM system. Robbins project notes under the heading "Misc. Logs" on read: "7/10/95 .... Apparently Global has bought another system, and is using it as the primary."
On or about July 18, Robbins received a $30,000 payment from GST. After subsequent repeated requests for the outstanding $40,000 balance on the contract, Dreyfuss agreed to pay Novacore in $10,000 installments on a four week schedule, to begin the week of August 7. Robbins never received these payments. On August 17, Robbins created a statement of outstanding payments he calculated were owed him, totaling $167,734.15. These included: (1) $20,000 for the early delivery bonus; (2) $40,000 on the balance of the system price; (3) $14,734.15 for reimbursement of various expenses; (4) $33,000 for the "support contract"; and (5) $60,000 for four additional switch licenses. Novacore filed suit against GST for breach of contract on August 25, 1995.
*183 G. The Debit Card Debacle
Robbins believed that the debit card software he had revised after the first installation effort was operational by May 8, 1995. He did not, however, activate the debit card feature at that time because he believed the other features of the entire system would have to be running smoothly in order to ensure that the debit card feature would be in sync with the rest of the system. He orchestrated the debit card switch-over in "one fell swoop" on June 6, when he commissioned the system.
Throughout June and July, customer service representatives were inundated with complaints by debit card holders from various countries who indicated problems with accessing their accounts. Robbins attributed such problems to the interface between GST's "multiplexor" and the Novacore system another hardware-driven problem from Robbins' perspective. In light of the volume of complaints, Dreyfuss asked Hale in early August to investigate the debit card issue and report back to him. Because Robbins had not trained Hale on accessing the billing software herself, she had to go through Robbins and be walked through the process of accessing the accounts in the system.
After many laborious computations, Hale compiled a report dated October 6, which indicated alarming discrepancies between debit card holders' account balances, usage costs, and credit available. Most significantly, she found multiple "overages" by card holders who had been able to use their cards well beyond their prepaid credit limits, i.e. free of charge. She also found that many accounts that should have been active with credit were inactive. According to Hale's calculations, GST had incurred over $150,000 in losses due to the overages alone. Dreyfuss was "absolutely furious" and "beside [him]self." It was upon receipt of Hale's report that he decided "to chuck it [the Novacore system], forget about it." That same day, Dreyfuss gave formal notice to Robbins that he was exercising his legal right to terminate the software licensing agreement for breach of Novacore's obligations under the contract, and demanded the return of payments made on the system to date.
CONCLUSIONS OF LAW
A. Breach of Contract Claims
Novacore claims (Count I) that GST breached its contractual obligation to pay the full contract price for delivery of the Novacore system. GST counterclaims (Count IV) that Novacore breached its contractual obligation to provide a fully operational system in accordance with the terms of the Agreement.
The parties agree that the Agreement is governed by Article Two of the Massachusetts Uniform Commercial Code, ("UCC") and that the computer software product is best characterized as a "good" pursuant to Mass G.L. c. 106, § 2-102. See VMark Software, Inc. v. EMC Corp., 37 Mass.App.Ct. 610, 611, n. 1, 642 N.E.2d 587 (1994) (accepting the assumption that parties' computer software license agreement was governed by UCC); USM Corp. v. Arthur D. Little Systems, Inc., 28 Mass.App.Ct. 108, 119, 546 N.E.2d 888 (1989) (holding that contract for "turnkey" computer system was "good" under Mass G.L. c. 106, § 2-102) (citing cases). Where the parties diverge is whether GST accepted the system, and if so, whether GST revoked its acceptance in a timely manner under Massachusetts law.
Under the UCC, a buyer is deemed to have accepted goods when, after a reasonable opportunity to inspect them, he signifies to the seller that he will retain them in spite of their non-conformity, or fails to effectively reject the them; or when he performs any act inconsistent with the seller's ownership of the goods. See Mass.G.L. c. 106, §§ 2-606(1)(a), (b) and (c)[7], 2-602(1), (2)(a).[8]
*184 When a buyer accepts goods pursuant to Section 2-606, "the buyer forfeits the right to reject the tender" later. See Knapp Shoes, Inc. v. Sylvania Shoe Mfg. Corp., 72 F.3d 190, 200 (1st Cir.1995) (citing UCC § 2-607). The Code provides that the buyer may, however, be able to "revoke" acceptance of a good "whose non-conformity substantially impairs its value to the buyer" under certain circumstances. Mass.G.L. c. 106, § 2-608(1); see Jeffco Fibres, Inc. v. Dario Diesel Service, Inc., 13 Mass.App.Ct. 1029, 1030, 433 N.E.2d 918 (1982) (stating that the buyer has the burden of proving an effective revocation). A buyer who accepts a good with knowledge of a non-conformity may revoke the acceptance if it was based upon a "reasonable assumption that [the] non-conformity would be cured and it has not been seasonably cured." Mass.G.L. c. 106, § 2-608(1)(a). If the buyer has accepted the good without discovery of the non-conformity, he may still revoke if the acceptance "was reasonably induced either by the difficulty of discovery before acceptance or by the seller's assurances." Mass.G.L. c. 106, § 2-608(1)(b). Consistent with the acceptance and rejection provisions of the UCC, revocation must occur within a reasonable time after the buyer discovers or should have discovered the nonconformity. See Id., § 2-608(2). The courts must give "all reasonable leeway" to the "rightfully rejecting or revoking buyer." Bevel-Fold, Inc. v. Bose Corp., 9 Mass.App.Ct. 576, 583, 402 N.E.2d 1104 (1980) (quoting Pavesi v. Ford Motor Co., 155 N.J.Super. 373, 377, 382 A.2d 954 (1978)).
In determining whether defects in a product substantially impair its value to the revoking buyer, "[m]ost courts read this test as an objective, or common sense, determination that the impaired value of the goods to the buyer was substantial as opposed to trivial, or easily fixed, given his subjective needs." Fortin v. Ox-Bow Marina, Inc., 408 Mass. 310, 316, 557 N.E.2d 1157 (1990). Such a determination is made in light of the "totality of the circumstances" of each case, including factors such as the "time and inconvenience spent in downtime and attempts at repair" of the product and whether defects "circumscribe ... use or warrant unusual or excessive maintenance actions in order to use" the product. Id. at 316-17, 557 N.E.2d 1157. "Experiencing in a major investment a series of defects, even if some have been cured and others are curable, can shake a buyer's faith in the goods, at which point the item not only loses its real value in the buyer's eyes, but also becomes an article whose integrity has been substantially impaired and whose operation is fraught with apprehension." Id. at 317, 557 N.E.2d 1157 (internal quotations and citations omitted).
Generally speaking, after discovery of a defect or noncomformity, "[w]hether notice is sufficiently prompt is a function of what was reasonable in the commercial circumstances." P & F Constr. Corp. v. Friend Lumber Corp. of Medford, 31 Mass.App.Ct. 57, 59, 575 N.E.2d 61 (1991) (holding that buyer's notice of revocation to the seller was not made within a reasonable time under § 2-607(3)(a) where buyer gave notice to seller three and one-half months after door units had been delivered to construction site that units, which were wrapped in clear plastic, were the wrong size); cf. Knapp Shoes, 72 F.3d at 200-01 (holding that buyer of shoes did not reasonably revoke acceptance under § 2-608(1)(b) where buyer knew or suspected defects of some shoes within inventory, but failed to notify seller for one and one-half years after buyer accepted delivery of the shipment). See generally Fortin, 408 Mass. at 318-19, 557 N.E.2d 1157 (commenting that "[i]t would be anomalous, given the U.C.C.'s purpose to encourage buyers and sellers to reach reasonable accommodations *185 to minimize losses ... to penalize buyers ... for their patience in giving sellers ... the opportunity to rectify nonconformities before revoking acceptance of the goods.") (citations omitted).
In assessing reasonableness in light of commercial circumstances on a case-by-case basis, "continued use, if reasonable, does not invalidate a revocation of acceptance." Liarikos v. Mello, 418 Mass. 669, 675, 639 N.E.2d 716 (1994); Cf. North Am. Lighting, Inc. v. Hopkins, 37 F.3d 1253, 1258-59 (7th Cir.1994) (rejecting "product use" argument which "comes dangerously close to suggesting a rule that would allow sellers to `lock in' purchasers of goods by promising them the moon only to bring them back to earth when they attempted to revoke the acceptance that they were persuaded to give because of their failure to understand fully a substantial defect"). Indeed, "[m]any courts have held that any delay on the part of the buyer in notification of revocation of acceptance is justified where the buyer is in constant communication with the seller regarding nonconformity of the goods, and the seller makes repeated assurances that the defect or nonconformity will be cured and attempts to do so." Fortin, 408 Mass. at 319-20, 557 N.E.2d 1157 (holding that the lapse of four months in revoking acceptance of power boat did not render revocation untimely where the buyer was in continuing communication with the seller with respect to the defects of the boat and the seller repeatedly assured the buyer that all defects would be repaired) (citations omitted).
Moreover, courts have given purchasers of complex computer systems substantial latitude in revoking acceptance where sellers have made assurances that defects in the system could be rejected. See North Am. Lighting, Inc., 37 F.3d at 1258-59 (holding that buyer was entitled to revoke its acceptance of seller's headlight aiming system approximately two years after purchase even though buyer knew system was unable to perform required tests at the time of purchase, where seller's assurances that the system could be modified induced buyer to continue working with seller to upgrade the system and buyer reasonably deferred to seller's superior expertise with the system's technology until promised software upgrades failed to make system viable); Triad Systems Corp. v. Alsip, 880 F.2d 247, 249 (10th Cir.1989) (holding that buyer's use of computer system for more than two years after delivery was not unreasonable where system never operated as expected, certain components of system were completely replaced six months after installation, and upon replacing one system with another at seller's direction, software again malfunctioned or was completely inoperable despite seller's assurances that the system could be repaired, and seller's repeated attempts at such repair); Aubrey's R.V. Ctr. v. Tandy Corp., 46 Wash. App. 595, 603, 731 P.2d 1124 (1987) (holding that nine-month gap between buyer's acceptance and revocation of computer system was reasonable where system, as an integrated whole, was substantially impaired and where buyer continued to use the system even after providing notice to seller of revocation).
This flexible approach in the hi tech area makes sense because "[a] common but foreseeable frustration of modern life [is] the failure of new computer hardware or software to work properly." VMark, 37 Mass. App.Ct. at 610, 642 N.E.2d 587.
With these UCC provisions in mind, I turn to the merits. Novacore has proven that GST accepted its system by late July/early August 1995. Although Dreyfuss continued to protest that the system was non-conforming, his conduct manifested acceptance, despite the non-conformity, in four respects. First, and most significant, is the fact that Dreyfuss paid most of the monies due on the system: On June 21, $14,000 for expenses; on June 23, a $40,000 payment due upon delivery of the system; and on July 18, a $30,000 payment based on the $70,000 invoice following Robbins' letter of July 7, 1995 in which he claimed that he had fulfilled the contract specifications. See Mass.G.L. c. 106, § 2-606 cmt. 3 ("[P]ayment made after tender is always one circumstance tending to signify acceptance of the goods but in itself can never be more than one circumstance and is not conclusive."). Second, on August 7, Dreyfuss, hardly a shrinking violet, agreed *186 to pay the outstanding balance on the contract in four weekly installments, without hinting at the possibility of rejection. Third, Dreyfuss admitted that into early August his intent was to use the Novacore and PCM systems in tandem, i.e. to "front-end" the Novacore system; he also admitted that he needed Novacore's billing software. Finally, Dreyfuss used the system, albeit in a limited fashion, throughout this period of time. Although Dreyfuss and his staff continuously complained about the flaws in the TI traffic, billing program, and debit card access, he accepted the system based upon Robbins' assurances that these flaws could be rectified in a reasonable amount of time.
This "acceptance," however, does not extinguish GST's right to revoke acceptance under the UCC. GST has proven that it made an effective revocation of the acceptance of the system in October 1995 when Hale's debit card report made it clear to Dreyfuss that the system should be "chucked." At that point, Dreyfuss formally notified Robbins that he was asserting his legal right to terminate the contract pursuant to paragraph 7 of the Agreement because of Novacore's breach of paragraph 4 (requiring that the software must accommodate 24 simultaneous conversations per PC) and paragraph 8 (requiring that the system successfully complete a full billing cycle). In his termination letter, Dreyfuss demanded the return of $124,732.30. Upon termination, the agreement requires Novacore to return to GST any monies received and certain other expenses and losses, including attorneys' fees. See Ex. 61, Agreement, ¶ 7.
The testimony of Dreyfuss, Andrade, Hale and Robbins, himself, convincingly demonstrated that the system never conformed to the terms and specifications of the contract. Most significantly, it never demonstrated the ability to handle the full callback traffic load of 24 simultaneous phone conversations on any given T1 line. See Ex. 61, Agreement, ¶ 4; Appendix B. Moreover, the real time debit card software was never successfully developed to allow calls to be completed by callers with "a positive account balance" only. See Ex. 61, Preamble, ¶ 3. The sizable overages detailed in Hales' October report directly precipitated Dreyfuss' decision to terminate the licensing agreement. Finally, the system never met the contract requirement that "a full billing cycle will be required in order to exercise all aspects of the software." See Ex. 61, Agreement, ¶ 8.
Dreyfuss, who was not a computer expert, made the reasonable assumption that Robbins could "deglitch" the ongoing problems through modification of the software applications. Yet despite Robbins' herculean, good faith efforts in non-ideal conditions, the system never met the contract requirements. I thus conclude that GST acted in a commercially reasonable manner in revoking its acceptance of the Novacore system. The bottom line was that it never worked. The notice of revocation in October 1995, roughly four months after Robbins formally commissioned the system, was reasonable in light of Robbins' continuing failure to demonstrate the system's ability to complete a full billing cycle, handle a full load of traffic, and manage real time debit card access.
With respect to the counterclaim, GST has established three material breaches of the agreement and is therefore entitled to a return of "monies received," plus attorneys' fees. Paragraph 12 of the agreement, providing for limitation of liabilities and remedies, excludes consequential and punitive damages.
B. Fraud, Misrepresentation and Mass. G.L. c. 93A Claims
Both parties assert common law claims for fraud and misrepresentation, and seek multiple damages under Mass.G.L. c. 93A for unfair business practices. Novacore argues that GST acted in bad faith by retaining the system with no intention of fully paying for it, by replacing it with the PCM system without giving Robbins ample opportunity to get the system to work properly, and by creating false complaints to avoid contractual obligations. GST, in turn, contends that Novacore acted in bad faith by knowingly failing to provide the software according to the contract's terms and specifications and by misrepresenting the capabilities of the Novacore system prior to and throughout the installation of the system. I conclude that there *187 was no evidence of bad faith or fraudulent intent on either side.
With regard to GST, I find that Dreyfuss did not intend to retain the Novacore system without paying for it. Dreyfuss had substantially paid for previous systems with which he was dissatisfied yet retained for limited purposes, and this was his intention with regard to the Novacore system up until his knowledge of the extent of the debit card crisis. Dreyfuss' decision to purchase the PCM system in June was commercially reasonable given that the Novacore system had not yet demonstrated the ability to handle heavy T1 traffic, and that repossession of the NACT system the primary system handling T1 traffic at that time was imminent. Dreyfuss' failure to make good on his promise to pay Robbins in installments for the outstanding balance on the contract through August, standing alone, does not amount to bad faith, in light of the debit card crisis and the poor performance of the system on the whole. There was no evidence to suggest that the customer complaints were falsified.
Turning to Novacore, while the evidence at trial indicated that the billing and debit card applications were not fully developed or adequately tested prior to Robbins' initial installation effort, I conclude that Robbins did not knowingly make misrepresentations to Dreyfuss. Rather, he informed Dreyfuss from the start that there would be a transition period during which time Robbins would work to integrate the software into Dreyfuss' existing network through modifications, adjustments and refinements of the various applications. See VMark, 37 Mass.App.Ct. at 617, n. 9, 642 N.E.2d 587 ("The familiar elements of an action for misrepresentation are that the defendant made a false representation of a material fact for the purpose of inducing the plaintiff to rely upon it, and that the plaintiff did rely upon the representation as true, to his damage.") (citation omitted). Robbins acknowledged at trial that he knew as early as April 15 that the system could not perform LCR and debit card access the way in which Dreyfuss had envisioned it. The evidence indicated that this was rooted, at least in part, in a misunderstanding between the two men as to what kind of LCR they had agreed the system would accomplish. Indeed, "Least Cost Routing" was not a defined term in the contract. The evidence was inconclusive as to whether this misunderstanding was more a function of Dreyfuss' admitted lack of a sophisticated understanding of the computer technology underlying telephone systems or of Robbins' failure, as the computer expert, to fully explain to Dreyfuss the system's capabilities with the hardware specified under the contract in light of Dreyfuss' articulated business needs.
I find that Robbins believed that he could ultimately make the Novacore system a great success for GST and he worked full bore ahead to achieve this goal. See id. at 622, 642 N.E.2d 587 (holding that multiple damages under 93A were not warranted where seller "acted in good faith" in dealing with the buyer, "fully expected that [the system] would function as represented," and was "persistently ready and willing, though ultimately unable, to correct the software's shortcomings"); USM Corp. v. Arthur D. Little Systems, Inc., 28 Mass.App.Ct. 108, 125, 546 N.E.2d 888 (1989) (holding that seller's overly optimistic statements to buyer regarding efficacy of turnkey computer system to meet buyer's needs did not amount to "unfair or deceptive act" under Mass.G.L. c. 93A).
ORDER OF JUDGMENT
(1) The Court ORDERS entry of judgment for defendant GST as against plaintiff Novacore on GST's counterclaim for breach of contract (Count IV) and awards GST judgment in the amount of $122,716.00, representing the payments Dreyfuss made on the Novacore system.[9] GST is also entitled to interest and reasonable attorneys' fees.[10]
(2) The Court DENIES entry of judgment for defendant GST on all other counts of the counterclaim.
*188 (3) The Court DENIES entry of judgment for plaintiff Novacore on all counts of the complaint.
(4) The Court ORDERS GST to submit a motion for attorneys' fees within fourteen days from this order of judgment, and Novacore to submit any opposition within ten days thereafter.
NOTES
[1] Novacore initiated this lawsuit in August 1995 alleging breach of contract. GST responded by filing a six count counterclaim alleging fraud, misrepresentation, violation of Mass.G.L. c. 93A, breach of contract, breach of warranty and breach of the duty of good faith and fair dealing. Novacore, in turn, amended its complaint to include claims for violation of Mass.G.L. c. 93A, fraud and breach of covenant of good faith and fair dealing. On September 9, 1997, this Court denied Novacore's motion for summary judgment on the complaint and on GST's counterclaim, except with respect to the limitation of liability clause, barring the award of consequential damages.
[2] The early bonus, software license and software support provisions are separately incorporated into the contract. See Ex. 61, Agreement, ¶¶ 1, 6.
[3] Per Robbins' suggestion, Dreyfuss advertised the position: "MS-Access programmer with 1 to 3 years experience. Must be able to write reports, generate forms and program in MS-Access (visual) Basic." John Elliot was qualified for the position.
[4] "Real time" refers to something that is calculated "as it is happening" as opposed to "after it has happened." Real time billing with respect to debit card access refers to programming the debit card application to allow debit card holders to access the system only for as long as the available credit on their cards. While the final contract specifications did not make specific reference to "real time," and the draft specifications stated that the real-time feature would not "initially be supported," see Ex. 164, ¶ 12, the Agreement did provide that "[t]he international voice callback with debit card payment application only allows a caller to complete calls if they have a positive account balance. Debit card accounts are prepaid accounts and their current balance is decreased for the amount charged for each call." See Ex. 61, Preamble, ¶ 3. Robbins knew that he was responsible for designing real time debit card software.
[5] He was able to access the system "remotely," i.e. by remote control.
[6] Dreyfuss and Hale each testified that enough information from two months of service had been gathered at some point in June to be able to send out bills to clients, but that the system had failed to execute a complete billing cycle of uninterrupted full traffic service.
[7] Mass.G.L. c. 106, § 2-606(1) provides:
(1) Acceptance of goods occurs when the buyer
(a) after a reasonable opportunity to inspect the goods signifies to the seller that the goods are conforming or that he will take or retain them in spite of their non-conformity; or
(b) fails to make an effective rejection (subsection (1) of section 2-602), but such acceptance does not occur until the buyer has had a reasonable opportunity to inspect them; or
(c) does any act inconsistent with the seller's ownership; but if such act is wrongful as against the seller it is an acceptance only if ratified by him.
[8] Mass.G.L. c. 106, § 2-602 provides, in relevant part:
(1) Rejection of goods must be within a reasonable time after their delivery or tender. It is ineffective unless the buyer seasonably notifies the seller.
(2) Subject to the provisions of the two following sections on rejected goods (sections 2-603 and 2-604)
(a) after rejection any exercise of ownership by the buyer with respect to any commercial unit is wrongful as against the seller ....
[9] The parties stipulated to this amount at trial. See Trans. Vol. I, p. 5, 1. 3-7.
[10] See Ex. 61, Agreement, ¶ 7.