function investInternal(address receiver) stopInEmergency private {
    var state = getState();
    require(state == State.Funding);
    require(msg.value > 0);

    
    var weiAmount = msg.value;
    investments.push(Investment(receiver, weiAmount, getCurrentMilestone().bonus + 100));
    investedAmountOf[receiver] = safeAdd(investedAmountOf[receiver], weiAmount);

    
    weiRaised = safeAdd(weiRaised, weiAmount);
    
    multisigWallet.transfer(weiAmount);
    
    Invested(receiver, weiAmount);
  }