function initSale(
        address _companyWallet,
        address _teamWallet,
        address _advisorWallet,
        address _reserveWallet
    ) public onlyOwner
    {
        require(!initiated);
        require(_companyWallet != 0x0);
        require(_teamWallet != 0x0);
        require(_advisorWallet != 0x0);
        require(_reserveWallet != 0x0);

        companyWallet = _companyWallet;
        teamWallet = _teamWallet;
        advisorWallet = _advisorWallet;
        reserveWallet = _reserveWallet;

        _deliverTokens(companyWallet, companyTokens.div(2)); 

        
        companyTimeLock = new TokenTimelock(token, companyWallet, uint64(1559339940)); 
        _deliverTokens(address(companyTimeLock), companyTokens.div(2));

        
        teamTimeLock = new TokenTimelock(token, teamWallet, uint64(1577833140)); 
        _deliverTokens(address(teamTimeLock), teamTokens);

        _deliverTokens(advisorWallet, advisorTokens);
        _deliverTokens(reserveWallet, reserveTokens);

        initiated = true;
    }