function finalize() public onlyDonationAddress returns (bool) {
        require(getSencBalance() >= sencHardCap || now >= endDate, "SENC hard cap rached OR End date reached");
        require(!finalized, "Donation not already finalized");
        
        totalSencCollected = getSencBalance();
        if (totalSencCollected >= sencHardCap) {
            
            donationWallet.transfer(address(this).balance);
        } else {
            uint256 totalDonatedEthers = convertToEther(totalSencCollected) + INFOCORP_DONATION;
            
            donationWallet.transfer(totalDonatedEthers);
            
            claimTokens(address(0), foundationWallet);
        }
        
        claimTokens(SENC_CONTRACT_ADDRESS, foundationWallet);
        finalized = true;
        return finalized;
    }