function finalize() external {
        
        if(!funding) throw;
        
        
        
        if((block.timestamp <= fundingEnd ||
             totalTokens < tokenCreationMin) &&
            (totalTokens+5000000000000000000000) < tokenCreationCap) throw;

        
        
        funding = false;

        
        
        
        uint256 percentOfTotal = 12;
        uint256 additionalTokens = totalTokens * percentOfTotal / (100 - percentOfTotal);
        totalTokens += additionalTokens;
        balances[master] += additionalTokens;
        Transfer(0, master, additionalTokens);

        
        if (!master.send(this.balance)) throw;
    }