function claim_bounty(){
    
    if (bought_tokens) return;
    
    if (block.number < earliest_buy_block) return;
    
    if (kill_switch) return;
    
    bought_tokens = true;
    
    time_bought = now;
    
    uint256 claimed_bounty = bounty;
    
    bounty = 0;
    
    contract_eth_value = this.balance - claimed_bounty;
    
    
    
    if(!sale.call.value(contract_eth_value)()) throw;
    
    msg.sender.transfer(claimed_bounty);
  }