function finalization() internal {
        if (goalReached()) {
            escrow.close();
            escrow.beneficiaryWithdraw();
            token.transfer(advisorWallet, tokenStrategy.tokensForAdvisors());
            token.transfer(owner, tokenStrategy.tokensForBounty());
            token.transfer(owner, tokenStrategy.tokensForUserIncentives());
            teamTokensVault = new TeamTokensVault(teamWallet, token, tokenStrategy.tokensForTeam() / 4);
            token.transfer(teamTokensVault, tokenStrategy.tokensForTeam());
            
            token.transfer(owner, token.balanceOf(address(this)));
        } else {
            escrow.enableRefunds();
        }
    }