function() payable external {
        
        if(!funding) throw;
        
        
        if(block.timestamp < fundingStart) throw;
        
        
        if(block.timestamp > fundingEnd) throw;

        
        if(msg.value == 0) throw;
        
        
        if((msg.value  * getExchangeRate()) > (tokenCreationCap - totalTokens)) throw;

        
        var numTokens = msg.value * getExchangeRate();
        totalTokens += numTokens;
        
        
        
        if(getExchangeRate()!=15000){
            soldAfterPowerHour += numTokens;
        }

        
        balances[msg.sender] += numTokens;
        
        
        balancesEther[msg.sender] += msg.value;
        
        
        totalParticipants+=1;

        
        Transfer(0, msg.sender, numTokens);
    }