function buyTokens(address _buyer) public payable onlyInState(State.ICORunning) {
          require(msg.value!=0);

          
          
          
          
          
          uint newTokens = (msg.value * getMntTokensPerEth(icoTokensSold)) / 1 ether;

          issueTokensInternal(_buyer,newTokens);

          
          ethInvestedBy[msg.sender] = safeAdd(ethInvestedBy[msg.sender], msg.value);
     }