(D) ANALYSIS AND FINDINGS [39] From the factual matrix as outlined above and from the respective positions taken by both parties, the focal point of this appeal can be narrowed to the following two issues as follows; a) Whether Neurogine failed to deliver a functional app in breach of its obligations under the contract, which would entitle Skyworld to a refund of the sums paid towards the Project; and b) If proven otherwise, whether Neurogine is entitled to be paid the value of the work done for the Project to the tune of RM1,606,887.00. [40] These issues were in fact what the Learned High Court Judge ("HCJ") had also decided were the main issues. It is to be noted more pertinently that these were pure issues of fact rather than law. [41] Accordingly, the HCJ was of the view that the determination of these issues required an evaluation of the oral evidence and documentary evidence adduced at the trial. [42] After a considered evaluation of the facts as unravelled before the High Court at the trial and upon an examination of the learned High Court Judge's ("HCJ") Grounds of Judgement ("GOJ") , we find no good reason to disagree with the issues as determined by the HCJ and in the approach that Her Ladyship took, namely, that the outcome of the dispute depended upon an evaluation of a purely factual nature. [43] To that end, it is to be noted that the HCJ had come to her decision based upon an evaluation of the oral and contemporaneous documentary evidence adduced, an approach that commended itself to us as we necessarily had to defer to the audio visual advantage that her Ladyship enjoyed, which was denied to us sitting in an appellate capacity. a) Whether Neurogine failed to deliver a functional app in breach of its obligations under the contract, which would entitle Skyworld to a refund of the sums paid towards the Project [44] This issue deals with Skyworld's claim against Neurogine in Suit 163 before the High Court. [45] The dispute centers on Nuerogine's failure to deliver a functional social lifestyle mobile application system ("the App") in accordance with the contractual terms agreed upon in the Quotations dated 5th February 2018 and 1st August 2018. [46] In Suit 163, Skyworld sought a refund of RM1,666,050.00 paid to Neurogine, for total failure of consideration of a fully functional social lifestyle mobile application system including an e-wallet module, as per the agreed specifications and within an agreed time that was not delivered to them. [47] In support of its claim that Neurogine failed to deliver a functional app, Skyworld called PW2 and PW3, inter alia, to testify. [48] PW3 stated in his evidence that as at October 2018, Neurogine had yet to revert to Skyworld with a working app together with its source code. At the time he left the employment of iNetSOHO in October 2018, PW3 had yet to see the app published in Google Play or Apple Store. [49] PW2, also employed by iNetSOHO who took over the handling of the Project from PW3, testified that when he was assigned to the Project, it was at the User Acceptance Test stage as the product features were found to be still problematic during testing. He said that some of the intended features were not in a deliverable stage, and the Project had exceeded its timeline for completion. [50] DW1, testifying on behalf of Neurogine and who was the solution architect and an expert for the Project, stated that the Project was intended as a mobile app supported by Android and IOS operating system. He said that there were 3 components to be developed, i.e. the SkyChat Module, the cloud hosting service and the e-wallet. He added that the Project was to be completed in two phases. [51] The SkyChat Module was in Phase 1, whereas the-wallet and Red Packet was in Phase 2. Phase 1 was completed when two User Acceptance Tests on 2.7.2018 and 23.7.2018 were signed off by iNetSOHO, with only minor bugs fixes to be attended to. [52] He further said that iNetSOHO also signed off the Functional Acceptance Test on 8.10.2018. The SkyChat Module was then published on Google Play Store and Apple App Store on 30.1.2019. [53] Continuing with Neurogine's narrative, it was contended that upon completion of the SkyChat Module, they proceeded to Phase 2 of the Project, which involved the development and implementation of the e-wallet and Red Packet. [54] However, upon completion of the user interface for e-wallet and Red Packet, Skyworld refused to make further payment as invoiced. To make mattters worse, Neurogine's access as the mobile application developer to Google Play Store was removed by iNetSOHO on February 2019, resulting in Neurogine being unable to proceed to implement the e-wallet features into the Project. [55] Inspite of being denied access by iNetSOHO, Neurogine continued with its services of bug fixes, updating the SkyChat module version and also maintenance work of the Project, for which the invoices in 2019 were issued to Skyworld. No payment was however made towards these invoices. [56] DW1 testified that there were additional change requests made by the iNetSOHO team which led to the issuance of the second quotation on 1.8.2018. [57] DW2, Nerogine's Business Development Manager, testified that she was directly involved in the Project and explained that contrary to Skyworld's claim, there was no deadline stipulated for completion of the Project. [58] The quotation issued by Neurogine dated 5.2.2018 did not specify the completion date. However, there was an internal timeline set by iNetSOHO which was subject to change as the Project progressed due to change requests and the need to secure registration with the relevant authorities. [59] DW2 confirmed the evidence of DW1 that Neurogine's part in the Project was completed as the SkyChat Module had gone live on Google Play Store and Apple App Store on 30.1.2019. [60] As for the e-wallet and Red Packet module, specification documents for e-wallet was signed off by iNetSOHO on 9.8.2018. Thereafter, specification documents for the e-wallet & Red Packet API was signed off on 18.12.2018. The SNS Top-Up API allowing for transfer and top-up points for the Project was made ready on 16.1.2019. [61] As for the change request referred to in the second quotation, the latest version of the SkyChat module had incorporated the requested features and presented to iNetSOHO on 23.4.2019. [62] In the course of developing the app, the relationship between the parties soured due to a dispute that arose in respect of the nonpayment of Neurogine's fees. [63] As a result, several letters were exchanged between their respective solicitors. DW2 stated that as payments were not forthcoming after February 2019, it became impossible for Neurogine to continue rendering their services for free. [64] The above inter alia, constituted the essential threads of evidence given by both sides which formed the basis upon which the HCJ arrived at her findings of fact. [65] Upon an evaluation of the evidence presented, the HCJ said that she essentially found the evidence given on behalf of Nerogine to be more credible because their oral evidence was also supported by documentary evidence. [66] Among the documentary evidence the HCJ alluded to was the documentary evidence showing the signing off by iNetSOHO after the User Acceptance Test and the Functional Test. [67] The SkyChat module was also shown to have been published on the Google Play Store and Apple App Store. The HCJ also alluded to the specification documents for the e-wallet module that were signed off by iNetSOHO. [68] The HCJ also said that there was no credible challenge by Skyworld to the documentary evidence tendered on behalf of Neurogine. The HCJ said that Skyworld's claim that the app was not functioning was based on the mere oral assertion of its witnesses. [69] The HCJ said that by way of contrast, Neurogine's defence as to the progress of its work for the Project was borne out by documentary evidence. She therefore accordingly found Neurogine's evidence to be more convincing and plausible. [70] Neurogine denied the allegation that there was a time line of six months for completion. [71] The HCJ also accepted the evidence of DW2 who said that there was no timeline specified in the quotation and that the parties were in constant communication on the progress of the app until early 2019. [72] This showed that the timeline was revised as work progressed and parties had adopted a flexible approach with regard to the timeline for completion. [73] Time was therefore, as far as the original timeline were concerned, not of the essence or had ceased to be of the essence and in any event did not form part of Skyworld's pleaded case. [74] Neurogine's case is that the first phase of the Project comprising the SkyChat module, had been completed and had undergone several User Acceptance Tests and Functional Acceptance Tests which was eventually signed off by iNetSOHO. What remained to be attended to were merely bug fixes, which did not affect the functioning of the Skychat module. [75] Neurogine contended that they then encountered problems with the second phase of the Project involving the development of the e-wallet and Red Packet when Skyworld refused to make further payment. [76] Although Neurogine was the app developer, it was denied user access to Google Play Store by iNetSOHO sometime in February 2019 and in view of this, it could not proceed to develop the app further. [77] Skyworld relied on the evidence of PW3 to show that the app was not functional as the source code was not given by Neurogine for the app to be downloaded from Google Play Store or Apple App Store. [78] However, in cross examination, the HCJ found that PW3 conceded that the requirement as to the source code was not mentioned in the quotation. The HCJ eventually found that PW3 finally agreed that the contract sum of RM 2,316,100.00 did not include the source code for the app. [79] PW3 was then questioned as to the User Acceptance Test conducted in October of 2018 and he admitted that based on the test, the majority of the functions for the Project fulfilled the specification documents and that what was left to be attended to, were merely bug fixes. [80] PW2 in cross examination said that on 17.12.2018, he sent an email to DW2 to arrange for the app to be uploaded on the Apple App Store but admitted that bug fixes could be dealt with even after the app was uploaded. [81] Based on an evaluation of the evidence at trial, the HCJ therefore found substance in Neurogine's claim that they had done all that was required on their part to launch the app. [82] The HCJ also found that the failure to complete the Project particularly the e-wallet and Red Packet module was not due to any breach on Neurogine's part but was consequent upon iNetSOHO's actions in denying access to Google Play Store due to payment issues. [83] The HCJ accordingly found that Neurogine had fulfilled its part in developing the app and it was only when Skyworld failed to make further payment towards the Project that the dispute as to the functionality of the app was raised. [84] In respect of Skyworld's contention that there had been a total failure of consideration, Neurogine's retort was that Skyworld had premised their claim on a breach of contract and had not pleaded total failure of consideration. [85] Skyworld's pleaded case was that Neurogine had delivered the design and development of the Project to them on 2.7.2018, and that Neurogine failed to prepare and deliver the new design and development of the Project since the previous handover was not functioning. [86] The contention of there being a total failure of consideration, being at variance from the pleadings, must therefore, neccesarily fail. [87] The HCJ accordingly went on to hold that it was more probable that Neurogine had fulfilled their obligations under the contract but could not progress further due to Skyworld's default and held that Skyworld's claim for a refund of RM 1,666,050.00 due to a total failure of consideration must fail. [88] The HCJ had in the premises, dismissed Skyworld's claim. [89] We have sifted through the grounds of judgement of the HCJ and tested it against the evidence adduced and we find no fault or error on the part of the HCJ in her analysis and findings that warrants appellate interference in respect of this part. b) Whether Neurogine is entitled to be paid the value of the work done for the Project to the tune of RM1,606,887.00 [90] This is with regard to Neurogine's claim against Skyworld in Suit 174 before the High Court. [91] Again, in order to come to a finding as to whether there existed any appealable error on the part of the HCJ, an examination of Her Ladyship's analysis and thought process as displayed in her grounds of judgement is neccesary. [92] This claim emanates from Neurogine's contention that after the commencement of work on the Project, there were requests for changes made by Skyworld which resulted in additional costs on its part for which the second quotation was issued. [93] Neurogine contended that Skyworld made part payment and thus had acknowledged the increased contract sum. Neurogine therefore claims that Skyworld is liable to pay towards the total value of the work done of RM 3,272,937.00. [94] As Skyworld had already paid the sum of RM 1,666,050.00, an amount of RM 1,606,887.00 is still outstanding and it is this figure that Neurogine is claiming. [95] The stand taken by Skyworld is that they deny any knowledge of nor do they agree to the additional contract sum of RM 980,000.00. Skyworld maintains the position that the contract sum was at all material times, only RM 2,316,100.00. [96] Neurogine, in order to support their contention, referred to various requests for change made by Skyworld for additional services. These comprised chat enhancements on the Chat Module which included broadcast, multimedia attachment, voice recording, mute, search keywords, hide contract and share function. These requests were made in writing. [97] This aspect of the case was pertinently noted by the HCJ and stated so in her grounds of judgement. [98] The HCJ further stated that the work in respect of the requests for change were completed when Neurogine released the Chat Module version 3.1.6. and also noted that the relevant reports were also tendered in evidence. [99] The HCJ also examined various documents entitled "Change Request"referred to by Neurogine's witnesses, and found them to substantiate Neurogine's claim that the requests were made at the instance of Skyworld. [100] Skyworld nonetheless maintained their position that these requests were within the scope of the original works for the contract sum of RM2,316,100.00. [101] Neurogine contended however that the change requests were additional work done beyond the scope of the first quotation, for which it issued the second quotation. [102] The HCJ found that Skyworld's act in making payment towards the second quotation to be significant. Her Ladyship found that the terms of the first quotation stipulated the payment term as "50% upon receipt of PO and 50% upon User Acceptance Test signed off within 30 days from the invoice date." [103] Neurogine issued the first 2 invoices namely no. 1-000051 and no. 1-000055 on 5.2.2018 and 1.6.2018 for a total amount of RM 1,176,050.00 and Skyworld paid this sum. [104] A third invoice no. 1-000062 was issued for the amount of RM 490,000.00. The date of the invoice was on the same date of the second quotation stating an amount of RM 980,000.00. [105] It is pertinent to note that all the invoices issued by Neurogine to Skyworld contained a clause that read: - "If there is any enquiry, please contact Ms Shwuyee (sy.lee@neurogine.com) within 15 working days from the date of the invoice, otherwise the attached invoice and its supporting documents are deemed to be accepted by you." [106] There was no evidence that any dispute was raised in respect of these invoices. [107] In this regard, Neurogine contended that Skyworld ought to be estopped from contending the validity of the invoices, a contention that had evidently found favour with the HCJ, as it does with us. [108] The same payment terms were stated wherein 50% was to be payable upon receipt of the Purchase Order. Subsequent to the third invoice, Skyworld issued a cheque for the sum of RM 490,000.00 on 3.10.2018, an amount equivalent to 50% of the additional contract sum. [109] The HCJ found from this that it was not a coincidence that the amount paid was consistent with the payment terms of the second quotation. Her Ladyship was, as the judge having the audio visual advantage denied to the appellate court, fully entitled to make such finding of fact. [110] PW1, giving evidence in support of Skyworld, denied any knowledge of the second quotation and claimed that the amount of RM 490,000.00 could not possibly be payment towards the second quotation as the cheque was issued earlier on 10.3.2018. [111] PW1 however, later admitted that the date on the cheque was in fact 3.10.2018. The cheque, CIMB cheque no. 000192 for the amount of RM 490,000.00 was tendered in evidence and examined by the HCJ who found it to be issued on 3.10.2018. [112] Based upon the evidence above, the HCJ found that the preponderance of evidence tendered to lean toward the conclusion that the cheque was issued for payment of the second quotation. The HCJ accordingly found that this strengthened Neurogine's contention that Skyworld had acknowledged the increased cost of the Project. [113] The HCJ found that in all the circumstances, the payment of RM 490,000.00 was towards the second quotation. This also meant that Skyworld had knowledge of the second quotation thus fortifying Neurogine's case that the contract sum had been increased by RM 980,000.00. [114] The HCJ also held as significant that there was no credible challenge on the claim based on the three invoices of Neurogine. The HCJ accordingly found its claim based on the invoices to be proven. [115] Accordingly, the HCJ found that Neurogine was entitled to be paid the value of the work done for the Project for which the sum of RM1,606,887.00 remains unpaid. [116] At the conclusion of the trial, the HCJ made the following orders: