Novacore Technologies, Inc. v. GST Communications Corp.Novacore Technologies, Inc. v. GST Communications Corp.
MEMORANDUM AND ORDER
INTRODUCTION
This сase 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 develoрment. 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 fi’om 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 Lauder-
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 Nova-core 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 Tl.
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 amоng a pool of different lines, and com
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 Tls 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 neеd 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
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 Novaeore’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 andother 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. Pi-levsky 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 sоftware, 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, Drey-fuss hired John Elliot for the job. 3
2. Hardware Problems
According to the terms of the licensing agreement, Dreyfuss was responsible for
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 devеloping 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 sеen a first draft of the billing software from Pilev-sky 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
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 believеd 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 “got-yas” 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 аgreed 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 would — that 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), Rob
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 Nova-core 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 thеy 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 han-die 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 softwarе “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
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 Nova-core 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 Nova-core lab, 5 at nights and on weekends, but with limited demonstrable success. Robbins acknowledged that the problems the Nova-core system was experiencing “weren’t insignificant” and that each time traffic was re-channeled 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 Novaeore system, but that by the end of the test, he had Andrade move traffic back to the NACT system because the Novaeore system could not carry a high volume of calls without resulting in сut offs. Robbins could not recall ever carrying over the heaviest usage line, a “517 line” to the Novaeore 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.
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 рroblems they were experiencing with the Nova-core 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 Nova-core system still had not demonstrated the ability to take anywhere near the full load of traffic on the Tls.
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, Drey-fuss 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 prоmpts). 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
The PCM was installed and operational on June 26. In a matter of hours, the Tls 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 Novaeore 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 Novaeore system on the other, was that the PCM and NACT systems took on a substantial load of calls from the get-go, whereas the Novaeore 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 Novaeore 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 Novaeore 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 thаt “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 Novaeore 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 Drey-fuss 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, Drey-fuss 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 Novaeore system, and had no intention of making additional payments at that time.
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 miscommunica-tions 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 “Mise. 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. No-vacore filed suit against GST for breach of contract on August 25,1995.
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 оf 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. Drey-fuss was “absolutely furious” and “beside [him]self.” It was upon receipt of Hale’s report that he decided “to chuck it [the No-vacore 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 Nova-core 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.,
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. e. 106, §§ 2-606(l)(a), (b) and (c) 7 2-602(1), (2)(a). 8
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.,
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,
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,
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.,
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,
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 (“[Pjayment 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
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 rеturn 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 Tl 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 mannеr 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 No-vacore 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 installatiоn of the system. I conclude that there
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,
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,
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.
(4) The Court ORDERS GST to submit a motion for attorneys’ fees within fourteen days from this order of judgment, and Nova-core to submit any opposition within ten days thereafter.
Notes
. 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 Novacorе’s motion for summary judgment on the complaint and on GST's counter’claim, except with respect to the limitation of liability clause, barring the award of consequential damages.
. The early bonus, software license and software support provisions are separately incorporated into the contract. See Ex. 61, Agreement, ¶¶ 1, 6.
. 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.
. "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.
. He was able to access the system "remotely,” i.e. by remote control.
. 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.
. 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 asagainst the seller it is an acceptance only if ratified by him.
. 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 ....
. The parties stipulated to this amount at trial. See Trans. Vol. I, p. 5, 1.3-7.
. See Ex. 61, Agreement, ¶ 7.